我对docker 1.5有问题。
所以,我在myregistry:5000上运行了一个私人注册中心。我可以推动&从其他位置(debian7&docker1.4)拉:
DOCKER_OPTS="--insecure-registry myregistry:5000"
在/etc/default/doker 中
现在,我有了一个新的系统,docker 1.5和debian 8,它已经不起作用了。我尝试了所有的可能性,比如--insecure-registry=myregistry:5000
或--insecure-registry http://myregistry:5000
有线索吗?
(注意:如果我停止docker并启动docker -d --insecure-registry myregistry:5000
,效果会很好)
如果它能帮助任何人,我认为问题不是来自Docker(我试图更新注册表,但没有成功),而是来自systemd
启动命令。
所以,这不是一个干净的解决方案,但它仍然比在屏幕上启动docker更干净。
我修改/lib/systemd/system/docker.service
并更改ExecStart
行:
ExecStart=/usr/bin/docker --insecure-registry myregistry:5000 -d -H fd://
然后,systemctl daemon-reload
systemctl restart docker
就是这样。它有效。我可以拉&推到我遥远的私人登记处。
我在Debian 9和Docker Se 18.06.1-ce上遇到了同样的问题。我收到一条错误消息:
使用默认标记:最新
来自守护程序的错误响应:Gethttps://mydocker-hub:5000/v2/:http:服务器向HTTPS客户端提供了HTTP响应
你可以用不同的方法解决这个问题。
-
您可以创建(或修改)
/etc/docker/daemon.json
文件,并在其中添加以下字符串:{ "insecure-registries": ["yourdocker-hub:5000"] }
重新启动docker服务:
service docker restart
-
您可以修改
/etc/default/docker
和编辑DOCKER_OPTS
选项DOCKER_OPTS='--insecure-registry yourdocker-hub:5000'
重启docker服务:
service docker restart
-
此外,您还可以修改文件
/lib/systemd/system/docker.service
,并将--insecure-registry yourdocker-hub:5000
添加到服务的命令行[Service] ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry yourdocker-hub:5000
现在您需要重新加载systemd管理器配置,请运行:
systemctl daemon-reload
重新启动docker服务:service docker restart
-
您可以停止docker服务,然后使用选项手动启动它。
service docker stop docker -d yourdocker-hub:5000
如果出现错误,请参阅/var/log/syslog
文件。
我在Ubuntu Utopic 14.10上使用Docker 1.5,并在5000端口上使用自己的Docker Registry服务器。一切都很好。我的/etc/default/docker
文件中有一些附加选项,可能对您的情况没有意义。看看本地注册表是如何启用的:
DOCKER_OPTS="--debug --log-level="debug" --dns 172.17.42.1 --insecure-registry 172.16.99.67:5000"
配置更改后重新启动计算机。