设置远程私有Dockerregistry
我需要一些build立“远程私有Dockerregistry”的技巧。
Docker-Registry上的README.md主要关注在同一主机上运行的私有registry,而不指定其他机器如何远程访问它(或者可能太复杂以至于无法理解)。
到目前为止,我发现这些线程:
Docker:从另一台服务器上从一个私有registry中拉出来的问题 (仍然是一个开放的线程,没有提供任何解决scheme。关于Github的进一步讨论给出了关于代理的提示,但是它是如何工作的?)
创build一个远程的私人registry (也许最接近我在找什么,但我需要什么命令从其他机器访问registry?)
如何使用自己的registry (同样,重点是在同一台主机上运行registry,它提到了运行在端口443或80上的其他机器可以访问,但需要更多的细节!
用尽线索,任何input非常赞赏!
我可以通过引用这个设置远程私人registry: 远程访问私人dockerregistry
脚步:
- 在registry主机上,运行
docker run -p 5000:5000 registry
- 在客户端主机上,通过
docker -d --insecure-registry 10.11.12.0:5000
启动Docker服务(用您自己的registryipreplace10.11.12.0,您可能需要守护进程,以便在shellclosures后继续运行。 )
编辑:或者,您可以编辑Docker的init脚本(RHEL / CentOS的/ etc / sysconfig / docker,Ubuntu / Debian的/ var / lib / docker)。 添加这一行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
- 推送到registry
docker push 10.11.12.0:5000/busybox
- validation推码器
docker search 10.11.12.0:5000/busybox
- 删除所有图像,并从您的registry
docker rmi busybox 10.11.12.0:5000:busybox
docker pull 10.11.12.0:5000:busybox
- 运行
docker images
应该有你从你自己的远程私人registry中提取的图像。
我在下一个方法中使用私人registry:
- 它有FQDN:docker.mycompany.com
- 我创build的所有图像都有名称:docker.mycompany.com/image1,docker.mycompany.com/image2等
之后,所有的工作都是无缝的:
-
将图像推送到registry:
docker工人推docker.mycompany.com/image1
-
拉和运行图像:
docker运行docker.mycompany.com/image2