我可以通过参考以下内容来设置远程私有注册表:
远程访问私有 docker-registry
脚步:
- 在注册表主机上,运行
docker run -p 5000:5000 registry
- 在客户端主机上,通过以下方式启动 Docker 服务
docker -d --insecure-registry 10.11.12.0:5000(将 10.11.12.0 替换为您自己的注册表 ip,您可能希望守护进程,以便在 shell 关闭后继续运行。)
编辑:或者,您可以编辑 Docker 的初始化脚本(/etc/sysconfig/docker 用于 RHEL/CentOS,/var/lib/docker 用于 Ubuntu/Debian)。添加这一行other_args="--insecure-registry 10.11.12.0:5000",然后做一个service docker restart. 这是推荐的方法,因为它会守护 Docker 进程。
现在,试试它是否有效:
- 在客户端,下载一个busybox图像
docker pull busybox
- 给它一个新标签
docker tag busybox 10.11.12.0:5000/busybox
- 推送到注册表
docker push 10.11.12.0:5000/busybox
- 验证推送
docker search 10.11.12.0:5000/busybox
- 删除所有图像并将其从注册表中拉出
docker rmi busybox 10.11.12.0:5000:busybox docker pull 10.11.12.0:5000:busybox
- 运行
docker images应该有你刚刚从你自己的远程私有注册表中提取的图像。