在 Docker 中,當我們執行 docker pull xxx 的時候 ,它實際上是從 registry.hub.docker.com 這個地址去查找,這就是Docker公司為我們提供的公共倉庫。在工作中,我們不可能把企業項目push到公有倉庫進行管理。所以為了更好的管理鏡像,Docker不僅提供了一個中央倉庫,同時也允許我們搭建本地私有倉庫。
? ??
一、registry搭建
Docker 官方提供了一個搭建私有倉庫的鏡像 registry ,只需把鏡像下載下來,運行容器并暴露5000端口,就可以使用了。
二、使用步驟
1. pull registry
docker pull registry:2
2. run image
代碼如下:
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2
Registry服務默認會將上傳的鏡像保存在容器的 /var/lib/registry,我們將宿主機的 /opt/registry 目錄掛載到該目錄,即可實現將鏡像保存到宿主機的 /opt/registry 目錄了。
3. 驗證將本地鏡像推送到私有倉庫
- 查看本地鏡像
- $ docker images
REPOSITORY ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TAG ? ? ? ? ? ? ? ? IMAGE ID ? ? ? ? ? ?CREATED ? ? ? ? ? ? SIZE
nginx ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?latest ? ? ? ? ? ? ?568c4670fa80 ? ? ? ?5 weeks ago ? ? ? ? 109MB - 使用?
docker tag
?將該鏡像標志為要推送到私有倉庫 - docker tag nginx:latest localhost:5000/nginx:latest
- 使用?
docker push
?命令將 nginx 鏡像 push到私有倉庫中 - docker push localhost:5000/nginx:latest
- 下載私有倉庫的鏡像,使用如下命令
# docker pull localhost:5000/鏡像名:版本號
# 例如
docker pull localhost:5000/nginx:latest