Registry
Registry是什么
Registry是一个无状态、高度可扩展的服务器端应用程序,用于存储 并允许您分发 Docker 映像。
为什么要使用它
- 严格控制镜像的存储位置
- 完全可以拥有镜像分发管道
- 将镜像存储和分发紧密集成到您的内部开发工作流程中
部署
运行本地注册表:快速版本
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
registry:2
自定义已发布的端口
docker run -d \
-p 5001:5000 \
--name registry \
registry:2
更改Registry容器中侦听端口, 可以使用环境变量来更改它:REGISTRY_HTTP_ADDR
docker run -d \
-e REGISTRY_HTTP_ADDR=0.0.0.0:5001 \
-p 5001:5001 \
--name registry-test \
registry:2
设置持久化存储,将主机目录绑定装载到 /mnt/registry/var/lib/registry/
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
-v /mnt/registry:/var/lib/registry \
registry:2
测试
设置私有仓库地址,编辑 /etc/docker/daemon.json 文件,添加完成以下内容,需要重启docker服务
{
"insecure-registries": ["http://172.16.10.53:5000"]
}
首先修改本地仓库docker某个镜像标签名
docker image tag nginx:latest 172.16.10.53:5000/nginx
推送镜像到Registry私有仓库
docker push 172.16.10.53:5000/nginx
测试是否推送成功
curl http://localhost:5000/v2/_catalog
{"repositories":["nginx","zookeeper"]}