本文已参与「新人创作礼」活动,一起开启掘金创作之路。
有时候使用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