2017-02-13 57 views
25

我有一个在CentOS上运行的docker 1.12。我试图给它添加不安全的注册表,文件中提到的事情不起作用。系统使用systemd,所以我创建了一个/etc/systemd/system/docker.service.d/50-insecure-registry.conf文件。添加不安全的注册表到Docker

$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf 
[Service] 
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"' 

后装载守护程序并重新启动泊坞窗服务,systemd表明,环境变量是有

$ sudo systemctl show docker | grep Env 
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000" 

但是当我运行docker info我没有看到不安全的注册表添加

$ docker info 
........ 
Registry: https://index.docker.io/v1/ 
WARNING: bridge-nf-call-iptables is disabled 
WARNING: bridge-nf-call-ip6tables is disabled 
Insecure Registries: 
    127.0.0.0/8 

推送图像至hostaneme.cloudapp.net失败

Pushing application  (hostname.cloudapp.net:5000/application:latest)... 
The push refers to a repository  [hostname.cloudapp.net:5000/mozart_application] 
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client 

有什么可以做的吗?我错过了什么吗?

UPDATE

通过将文件/etc/docker/daemon.json有以下内容

{ 
    "insecure-registries" : [ "hostname.cloudapp.net:5000" ] 
} 

解决这个问题,然后重新启动搬运工

sudo systemctl daemon-reload 
sudo systemctl restart docker 

是不安全的注册表hostname.cloudapp.net:500工作后。

+4

虽然有人在这种情况下殴打你(在给你一个慷慨的宽限期后),但这对自我回答来说是一个很好的例子。 – BlackVegetable

+2

优秀!在使用Openshift http://www.javamonamour.org/2017/12/docker-insecure-registry.html“oc cluster up”时,我收到了这个错误信息,并且您的修复程序解决了它! – PierluigiVernetto

回答

44

(从复制的问题的答案)

要添加不安全泊坞窗注册表,用下面的内容添加文件/etc/docker/daemon.json

{ 
    "insecure-registries" : [ "hostname.cloudapp.net:5000" ] 
} 

,然后重新启动泊坞窗。

+1

我相信这是debian-likes的正确解决方案。在Red Hat上,您希望将其作为其中一个选项添加到'/ etc/sysconfig/docker'中。从一个Openshift安装:'选项=' - 不安全注册表= 172.30.0.0/16 - 其他[...]'' 在Suse-我不知道。 – erikbwork