在安装好Docker以后,想从公司搭建的私服Harbor上docker pull的时候碰上了x509问题,这个问题的原因是docker会验证网站的证书,私服没有相应的证书所以docker拒绝访问,但是我们也可以自己允许docker连接“不安全”的网站,在此记录一下解决方案:
环境:Ubuntu 16.04, Docker CE 18.09
- 修改或新建配置文件:
sudo vim /etc/default/docker
- 输入i切换到编辑模式,输入 DOCKER_OPTS="--insecure-registry 127.0.0.1" (把127.0.0.1换成你需要允许的网址,如果有端口号需要加上端口号如127.0.0.1:8080 ), :wq保存并退出:
DOCKER_OPTS="--insecure-registry 127.0.0.1"
- 编辑docker service 配置文件:
sudo vim /lib/systemd/system/docker.service
- 在命令模式:/ExecStart,找到ExecStart, 我默认的ExecStart长这样: ExecStart=/usr/bin/dockerd -H unix://
- 添加EnvironmentFile(注意文件路径名之前有一个“-”, 推荐直接复制我的配置 )并修改ExecStart,保存并退出:
EnvironmentFile=-/etc/default/docker ExecStart=/usr/bin/dockerd -H unix:// $DOCKER_OPTS
- 刷新service配置并重启docker:
systemctl daemon-reload service docker restart
之后docker pull就可以正常使用了。