簡體   English   中英

Docker注冊表-不安全的注冊表不起作用

[英]Docker registry --insecure-registry not working

我正在嘗試在CentOS 7上運行Docker注冊表以供內部使用。

我已經從/usr/lib/systemd/system/docker.service設置了Docker配置,如下所示:

[Service]
.... 
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry 127.0.0.1:5000
....

然后使用systemctl daemon-reloadsudo service docker start systemctl daemon-reload ,並確認docker正在使用ps -ef | grep docker選項運行ps -ef | grep docker 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

我應該多檢查些什么?

之所以可以在http中訪問而不是在https中訪問,是因為您將注冊表配置為不安全的注冊表。 這意味着未啟用TLS。 您可以在此處此處找到有關安全注冊表的更多信息。

如果要使https也可以使用,則需要准備一個CA,並使用它配置注冊表。 請確保您的CA配置正確。

編輯:我想您可能會誤解什么是“不安全的注冊表”。 此功能並未真正啟用TLS支持,而是允許您創建僅支持HTTP或具有未知CA證書的HTTPS的私有注冊表。 如果希望HTTPS起作用,則有兩種選擇:使用自簽名CA或購買CA。 這里疑難解答部分可能會對您有所幫助。

EDIT2:要嘗試使用HTTP訪問,我按照注冊表官方圖像頁面上的指南運行了一個簡單的測試: 運行注冊表docker容器:快速版本

步驟如下:

  1. 添加不安全選項DOCKER_OPTS="--insecure-registry=127.0.0.1:5000" ,然后重新啟動docker服務。

  2. $ docker run -p 5000:5000 -v /home/mypc/data:/tmp/registry-dev registry

  3. $ docker tag hello-world 127.0.0.1:5000/hello

  4. $ docker push 127.0.0.1:5000/hello

輸出為:

 The push refers to a repository [127.0.0.1:5000/hello] a02596fdd012: Image successfully pushed Pushing tag for rev [c54a2cc56cbb] on {http://127.0.0.1:5000/v1/repositories/hello/tags/latest} 

碼頭工人推正在工作。

您也可以查看此鏈接:

https://docs.docker.com/engine/security/certificates/

它解釋了您將證書存儲在Docker客戶端計算機上的位置,以便不再將注冊表視為不安全的注冊表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM