我試圖運行在內部使用泊塢註冊表,在CentOS 7多克爾註冊表--insecure的註冊表不工作
我從/usr/lib/systemd/system/docker.service
設置泊塢窗的配置如下:
[Service]
....
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry 127.0.0.1:5000
....
然後開始了碼頭工人守護進程systemctl daemon-reload
和sudo service docker start
,並證實泊塢窗是用選項運行與ps -ef | grep docker
:
root 116221 1 0 13:21 ? 00:00:00 /usr/bin/docker daemon -H fd:// --insecure-registry 127.0.0.1:5000
但是當我試圖連接到註冊表https
,它失敗了。
# Try from the server which the registry is running
curl -X GET https://127.0.0.1:5000/v1/_ping
=> curl: (35) Encountered end of file
# Try from the remote client
curl -X GET https://{registry-server-ip}:5000/v1/_ping
=> curl: (35) Server aborted the SSL handshake
當然,我已經成功與http
訪問註冊表:
curl -X GET http://127.0.0.1:5000/v1/_ping
=> {"host": ["Linux", ...}
僅供參考,
# docker version
Client:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:23:11 2016
OS/Arch: linux/amd64
Server:
Version: 1.11.2
API version: 1.23
Go version: go1.5.4
Git commit: b9f10c9
Built: Wed Jun 1 21:23:11 2016
OS/Arch: linux/amd64
我應該有更多的檢查?
謝謝你的回覆!我以爲'--insecure-registry'選項允許遠程訪問,比如沒有CA的'docker pull'或'docker push'。 但是我的理解是你的評論是我需要配置CA而不用'--insecure-registry'來允許'docker pull'或'docker push'作爲命令使用'https',對嗎? – Seonho
@Seonho嗨,是的,--insecure-registry允許你在沒有CA的情況下進行遠程訪問,但是在這種情況下,遠程訪問只有HTTP。只要你有一個CA,你就可以做HTTPS。但是,兩種情況取決於您擁有哪種類型的CA:1.如果您的CA是自簽名的(意味着它不是由可信簽名人發佈),那麼您必須添加--insecure-registry選項。 2.如果你的CA是可信的(例如你買了一個),那麼你就不需要這個--insecure-registry選項。希望這有幫助。 –
@Seonho我必須提到的最後一件事是您可以使用自簽名CA,並且不使用--insecure-registry選項。檢查這裏的步驟:https://docs.docker.com/registry/insecure/#/using-self-signed-certificates在步驟4中,「指示每個docker守護程序信任您的自簽名證書」。 –