我想運行一個廣泛可用的私人docker註冊表。 因此,我將能夠推送和從其他服務器拉圖像。Docker使用自簽名證書的私人註冊表
我進行了3個步驟:首先 我創建我的證書和密鑰(如CNAME我填寫我的EC2主機名)
mkdir -p certs && openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
-x509 -days 365 -out certs/domain.crt
比我創建我的碼頭註冊表,使用此密鑰。
docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
比我複製的domain.crt
到/etc/docker/certs.d/ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/ca.crt
內容我重新啓動我的搬運工:sudo service docker restart
當我試圖把圖像我得到以下錯誤:
unable to ping registry endpoint https://ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/v0/
v2 ping attempt failed with error: Get https://ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/v2/: net/http: TLS handshake timeout
v1 ping attempt failed with error: Get https://ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/v1/_ping: net/http: TLS handshake timeout
我真的不知道我失蹤或做錯了什麼。有人可以幫幫我嗎。由於
你可以捲曲你的端點嗎?或者在調試模式下重新啓動docker dameon?這兩個建議在https://github.com/docker/distribution/issues/1194 – VonC