Docker私有镜像仓库的访问问题

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:38   1297   0

问题

从docker1.3.2版本开始默认docker registry使用的是https,当你用docker pull 非https的docker regsitry的时候会报下面错误:

Error: Invalid registry endpoint ... Get ... If this private registry supports only HTTP or HTTPS with an unknown CA certificate, 
please add '--insecure-registry 192.168.1.103:5000' to the daemon's arguments. 
In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; 
simply place the CA certificate at /etc/docker/certs.d/192.168.14.1:5001/ca.crt  

MacOS解决办法

如果使用的是MacOS版的Docker GUI工具,可以进“Preference”里面“Advanced”在“Insecure Registry”里加上192.168.14.1:5001,再重启就可以了。

Ubuntu 15.04及以后解决办法

如果使用的是Ubuntu15.04以后的版本,修改Docker的服务启动文件即可。

解决方案:

    vi /lib/systemd/system/docker.service  

内容修改如下:

    [Unit]  
    Description=Docker Application Container Engine  
    Documentation=http://docs.docker.com  
    After=network.target docker.socket  
    Requires=docker.socket  
      
    [Service]  
    Type=notify  
    EnvironmentFile=-/etc/sysconfig/docker  
    EnvironmentFile=-/etc/sysconfig/docker-storage  
    ExecStart=/usr/bin/docker --insecure-registry 192.168.14.1:5001  -H fd:// $OPTIONS $DOCKER_STORAGE_OPTIONS  
    LimitNOFILE=1048576  
    LimitNPROC=1048576  
      
    [Install]  
    WantedBy=multi-user.target  
  • 注意上面的 “ExecStart=” 一行,把自己的registry地址加上即可。
  • 很多攻略里,上面的参数有-d选项,但我在Ubuntu15.04会出错,去掉-d后,就可以了,可能不同版本的差异引起的。
  • 重新启动服务:sudo service docker restart,有可能要求执行:systemctl daemon-reload。如果有问题,重新停掉服务,再启动。
  • 如果是Ubuntu老的版本,该文件不在systemd下,找到相应的文件,按照类似的方法修改即可。

Ubuntu 14.04及15.04以前版本解决办法

如果使用的是Ubuntu14.04以后的版本,参考这里:https://my.oschina.net/u/2306127/blog/659579

转载于:https://my.oschina.net/u/2306127/blog/757443

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP