目前Docker官方維護了一個公共倉庫https://hub.docker.com, 其中已經包括100000+個的鏡像。大部分需求均可以經過在 Docker hub中直接下載鏡像來實現,web
能夠在https://hub.docker.com 免費註冊一個Docker帳號。在命令行執行docker login輸入用戶名及密碼來完成在命令行界面登記Docker Hub。你能夠經過docker logout退出登陸。docker
docker login
能夠經過docker search命令來查找官方倉庫中的鏡像,並利用docker pull命令來將它下載到本地。json
用戶也能夠在登陸後經過docker push命令來將本身的鏡像推送到Docker Hub。tomcat
docker pull tomcat
docker images
修改本地鏡像的名字爲帳號名/鏡像名session
上傳鏡像到公共倉庫工具
docker push woxpp/tomcat-test:latest
登陸界面查看測試
docker pull woxpp/tomcat-test
有時候使用Docker Hub這樣的公共倉庫可能不方便,用戶能夠建立一個本地倉庫供私人使用。好比,基於公司內部項目構建的鏡像。
docker-registry是官方提供的工具,能夠用於構建私有的鏡像倉庫。url
安裝運行docker-registryspa
能夠經過獲取官方registry鏡像來運行。默認狀況下,倉庫會被建立在容器的/var/lib/registry目錄下。能夠經過-v參數來將鏡像文件存放在本地的指定路徑。命令行
docker run --name registry -d -p 5000:5000 --restart=always -v /opt/registry:/var/lib/registry registry
docker ps -a
測試是否成功
http://192.168.50.24:5000/v2/_catalog
使用docker tag將session-web:latest這個鏡像標記爲192.168.50.24:5000/session-web:latest格式爲docker tag IMAGE:TAG/]REPOSITORY[:TAG]
docker tag docker.io/tomcat 192.168.50.24:5000/tomcat-2:latest
使用docker push上傳標記的鏡像
docker push 192.168.50.24:5000/tomcat-2:latest
驗證上傳的鏡像
http://192.168.50.24:5000/v2/_catalog
先刪除已有鏡像,再嘗試從私有倉庫中下載這個鏡像。
docker images
docker rmi 192.168.50.24:5000/tomcat-2
docker pull 192.168.50.24:5000/tomcat-2
The push refers to a repository [192.168.50.24:5000/consul]
Get https://192.168.50.24:5000/v1/_ping: http: server gave HTTP response to HTTPS client
修改客戶端/etc/docker/daemon.json中寫入以下內容
{ "registry-mirror":[ "http://hub-mirror.c.163.com" ], "insecure-registries":[ "192.168.50.24:5000" ] }
從新啓動docker後再試試
service docker restart