Docker Registry 主機架好了,但要怎麼查詢你需要的 Docker Image 或 Tag 號呢?
- 使用指令進行查詢
- 架設一台 Docker Web UI
架設一台 Docker Web UI
使用 hyper/docker-registry-web 所提供的 Docker Web UI 工具來顯示 Docker Registry 放了哪些Docker Image
先登入到你的 Docker Registry 主機,進行 docker run 安裝 hyper/docker-registry-web,使用 docker run -d -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://docker-registry.com.cc:5000/v2 hyper/docker-registry-web
[root@Docker-Registry ~]# docker run -d -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://docker-registry.com.cc:5000/v2 hyper/docker-registry-web Unable to find image 'hyper/docker-registry-web:latest' locally Trying to pull repository docker.io/hyper/docker-registry-web ... latest: Pulling from docker.io/hyper/docker-registry-web 04c996abc244: Pull complete d394d3da86fe: Pull complete bac77aae22d4: Pull complete //================(略)================ 88a8c7267fbc: Pull complete f9371a03010e: Pull complete Digest: sha256:723ffa29aed2c51417d8bd32ac93a1cd0e7ef857a0099c1e1d7593c09f7910ae Status: Downloaded newer image for docker.io/hyper/docker-registry-web:latest feb159e47a314223fc27de05fcfc941a3df926f93d84070501cc22c8d8cf2a4a
執行 docker ps -a
確認 Docker-registry-web 服務是否起來
[root@Docker-Registry ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES feb159e47a31 hyper/docker-registry-web "start.sh" 29 seconds ago Up 28 seconds 0.0.0.0:8080->8080/tcp registry-web d1051af4a499 registry:latest "/entrypoint.sh /e..." About an hour ago Up 30 minutes 0.0.0.0:5000->5000/tcp registry
確認服務運作後,可以在瀏覽器上輸入網址確認 http://docker-registry.com.cc:8080
可以看到你目前 docker container name:registry 上的 images
點選 php72-base 後可以進入查看目前的 Tags 有哪一些
點選 Tag 後可以查看該 Tag 號下的相關資訊
常見問題
輸入網址後 http://docker-registry.com.cc:8080 出現錯誤訊息 I/O error on GET request for "http://docker-registry.com.cc.2:5000/v2/_catalog?n=100":No route to host; nested exception is java.net.NoRouteToHostException: No route to host
,因為在 docker container name:registry-web 無法請求到 docker-registry.com.cc:5000 主機會出現以下的錯誤畫面。
可以改寫你的 docker run 指令,將 hostname 改成你的 docker container name,如:使用 docker run -d -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://registry:5000/v2 hyper/docker-registry-web
再輸入網址:http://docker-registry.com.cc 就會正常了。