在安装好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就可以正常使用了。
补充:docker 1.13.1 版本 添加--insecure-registry
分三步(添加红框中的内容:ip要改的哦)
1、vi /etc/sysconfig/docker
2、 vi /usr/lib/systemd/system/docker.service
3、vi /etc/docker/daemon.json
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。