2017-02-13 63 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