使用官方 docker image 架設私有 Docker Registry
1. 先進官方的 hub 確認 registry
#docker search registry NAME DESCRIPTION STARS OFFICIAL AUTOMATED registry The Docker Registry 2.0 implementation for s… 3496 [OK] distribution/registry WARNING: NOT the registry official image!!! … 57 [OK] stefanscherer/registry-windows Containerized docker registry for Windows Se… 33 jc21/registry-ui A nice web interface for managing your Docke… 23 budry/registry-arm Docker registry build for Raspberry PI 2 and… 18 deis/registry Docker image registry for the Deis open sour… 12 anoxis/registry-cli You can list and delete tags from your priva… 11 [OK] allingeek/registry A specialization of registry:2 configured fo… 4 [OK] pallet/registry-swift Add swift storage support to the official do… 4 [OK] 以下略...
我們看到了官方有發布一個 The Docker Registry 2.0 的版本
2. 安裝並執行官方 registry
#docker run -d -p 5000:5000 -v /img/:/var/lib/registry --restart=always --name registry registry 啟用 SSL 憑證方式 #docker run -d \ --restart=always \ --name registry \ -v /img/:/var/lib/registry \ -v /ssl/xxx.cer:/ssl/xxx.cer \ -v /ssl/private.key:/ssl/private.key \ -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/ssl/xxx.cer \ -e REGISTRY_HTTP_TLS_KEY=/ssl/private.key \ -p 443:443 \ registry
在這邊說明一下各項參數
run: 執行該 image
-d : 背景執行狀態,如果要看 log 必須使用 docker logs 才會顯示
-p : 使用的 port ,前面的 5000 是外部的,而後面的 5000 則是 image 使用的
-v : 掛載 volume 這邊則是使用對應到外部資料夾,也可以是先建立然後掛載,跟 port 一樣前面是對外後面則是對應到 image內部
--restart=always : 當 Docker 發生重啟時則跟著啟動
--name 設定 container 的名稱
最後面則是拉取官方 image 的名稱
3. 確認安裝成功
#docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3ff4072234b2 registry "/entrypoint.sh /etc…" 25 minutes ago Up 25 minutes 0.0.0.0:5000->5000/tcp registry
網頁確認 log
http://127.0.0.1:5000/v2/_catalog
如果沒有推送上去會是顯示這樣子
{ repositories: [ ] }
如果有成功推送上去則是
{ repositories: [ "test" ] }