我试图运行在内部使用泊坞注册表,在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守护程序信任您的自签名证书”。 –