Docker 私有仓库搭建

一、简介

在 Docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。在工作中,我们不可能把企业项目push到公有仓库进行管理。所以为了更好的管理镜像,Docker不仅提供了一个中央仓库,同时也允许我们搭建本地私有仓库。这一篇介绍registry、harbor两种私有仓库搭建。

二、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://127.0.0.1:5000/v2,出现下面情况说明registry运行正常。

2. 验证

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

查看本地镜像:

$ docker images
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
nginx                                                  latest              568c4670fa80        5 weeks ago         109MB
ubuntu                                                 latest              93fd78260bd1        7 weeks ago         86.2MB
elasticsearch                                          6.5.1               32f93c89076d        7 weeks ago         773MB

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

docker tag nginx:latest localhost:5000/nginx:latest

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

docker push localhost:5000/nginx:latest

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

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

docker pull localhost:5000/镜像名:版本号
例如
docker pull localhost:5000/nginx:latest
posted @ 2020-03-05 15:31  爱吃醋的工程师  阅读(145)  评论(0编辑  收藏  举报