首页 > 其他 > 详细

Docker 搭建 registry 私有仓库

时间:2020-04-27 22:57:47      阅读:55      评论:0      收藏:0      [点我收藏+]

拉取 nginx 最新版镜像:

docker pull registry:latest

为 registry 创建一个文件夹:

mkdir -p /home/docker/registry/

启动 registry 容器:

docker run --name registry01 -d --restart=always -v /home/docker/registry/:/var/lib/registry/ -p 6000:5000 registry

因为宿主机的 5000 端口被占用了,所以我就改用了 6000 端口

在启动 registry 容器后,使用 -v 参数映射时会自动创建 docker/registry/ 目录,所以主机的映射目录就变成了:/home/docker/registry/docker/registry/... ,对于强迫症患者来说,实在太别扭了,所以直接映射到主机的 home/ 文件夹即可,停止并删除容器,然后重新执行:

docker run --name registry01 -d --restart=always -v /home/:/var/lib/registry/ -p 6000:5000 registry

registry 容器已成功运行,需要验证一下:

curl http://localhost:6000/v2/_catalog

若能正常访问 registry 接口 _catalog,证明 registry 服务启动成功。

在安装并成功启动 registry 服务后,还需要配置一下,编辑 /etc/docker/daemon.json 文件,添加配置代码 "insecure-registries":["localhost:6000"],然后执行 systemctl daemon-reload 重新加载配置,不过这一步似乎没什么用,应该可以忽略。

下面我们来试一下,push 一个镜像到刚刚创建的私有仓库中,但在 push 之前需要先创建用户:

docker login localhost:6000
Username: zzy0209
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

为了指定镜像上传的目标地址,需要在镜像名称前加上私有仓库的访问地址和用户名,具体镜像名称格式如下:REGISTRY_HOST/USERNAME/IMAGE_NAME:TAG

可以通过 docker tag 命令来修改镜像的名称:

docker tag am/service_gateway:74a5635 localhost:6000/zzy0209/am/service_gateway:74a5635

最后,将这个镜像 push 到私有仓库中:

docker push localhost:6000/zzy0209/am/service_gateway

再通过 registry 的 _catalog 接口验证一下:

curl http://localhost:6000/v2/_catalog
{"repositories":["zzy0209/am/service_gateway"]}

OK~

一个简单的记录,希望有所帮助!

Docker 搭建 registry 私有仓库

原文:https://www.cnblogs.com/journet/p/12789610.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!