背景

在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。这一篇介绍registry这种较为方便的私有仓库搭建。

搭建过程

1. 搭建

Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。

docker pull registry:2
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

浏览器访问http://服务器主机ip:5000/v2,出现下面情况说明registry运行正常。

2. 验证

现在通过push镜像到registry来验证一下。

查看本地镜像:

lipeiguang@lipeiguang:/$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker-demo0.0.3    latest              3d5d469183c0        4 hours ago         660MB
docker-demo0.0.2    latest              f086ec3ca868        4 hours ago         660MB
docker-demo0.0.1    latest              f3bf80aa76c2        20 hours ago        660MB
registry            2                   2d4f4b5309b1        3 months ago        26.2MB
hello-world         latest              bf756fb1ae65        9 months ago        13.3kB
java                8                   d23bdf5b1b1b        3 years ago         643MB

 

要通过docker tag将该镜像标志为要推送到私有仓库:

docker tag docker-demo0.0.3:latest localhost:5000/docker-demo0.0.3:latest

 

通过 docker push 命令将 nginx 镜像 push到私有仓库中:

 docker push localhost:5000/docker-demo0.0.3:latest

 

访问 http://主机ip:5000/v2/_catalog 查看私有仓库目录,可以看到刚上传的镜像了:

 

 

下载私有仓库的镜像,使用如下命令:

docker pull localhost:5000/镜像名:版本号
例如
docker pull localhost:5000/
docker-demo0.0.3:latest

 

版权声明:本文为lipg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lipg/p/13794113.html