在安装好Docker以后,想从公司搭建的私服Harbor上docker pull的时候碰上了x509问题,这个问题的原因是docker会验证网站的证书,私服没有相应的证书所以docker拒绝访问,但是我们也可以自己允许docker连接“不安全”的网站,在此记录一下解决方案:

环境:Ubuntu 16.04, Docker CE 18.09

  1. 修改或新建配置文件:
sudo vim /etc/default/docker
  1. 输入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"
  1. 编辑docker service 配置文件:
sudo vim /lib/systemd/system/docker.service
  1. 在命令模式:/ExecStart,找到ExecStart, 我默认的ExecStart长这样: ExecStart=/usr/bin/dockerd -H unix://
  2. 添加EnvironmentFile(注意文件路径名之前有一个“-”, 推荐直接复制我的配置 )并修改ExecStart,保存并退出:
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd -H unix:// $DOCKER_OPTS
  1. 刷新service配置并重启docker:
systemctl daemon-reload
service docker restart

之后docker pull就可以正常使用了。