在 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