搭建Docker私有仓库Registry

239 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

有时候使用Docker Hub这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。比如,基于公司内部项目构建的镜像。 registry是官方提供的工具,可以用于构建私有的镜像仓库。

安装运行registry

可以通过获取官方registry镜像来运行。默认情况下,仓库会被创建在容器的/var/lib/registry目录下。可以通过-v参数来将镜像文件存放在本地的指定路径。

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

上传镜像到仓库

使用docker web:1.0这个镜像标记为127.0.0.1:5000/session-web:latest格式为docker tag IMAGE[:TAG][REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

docker tag session-web:latest 127.0.0.1:5000/session-web:latest

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

docker push 127.0.0.1:5000/nginx:latest

访问

http://127.0.0.1:5000/v2/_catalog

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

docker pull 127.0.0.1:5000/镜像名:版本号
vim /usr/lib/systemd/system/docker.service

在12行后面增加 --insecure-registry ip:5000

修改好后重启docker 服务

systemctl daemon-reload

systemctl restart docker