设置远程私有Dockerregistry

我需要一些build立“远程私有Dockerregistry”的技巧。

Docker-Registry上的README.md主要关注在同一主机上运行的私有registry,而不指定其他机器如何远程访问它(或者可能太复杂以至于无法理解)。

到目前为止,我发现这些线程:

Docker:从另一台服务器上从一个私有registry中拉出来的问题 (仍然是一个开放的线程,没有提供任何解决scheme。关于Github的进一步讨论给出了关于代理的提示,但是它是如何工作的?)

创build一个远程的私人registry (也许最接近我在找什么,但我需要什么命令从其他机器访问registry?)

如何使用自己的registry (同样,重点是在同一台主机上运行registry,它提到了运行在端口443或80上的其他机器可以访问,但需要更多的细节!

用尽线索,任何input非常赞赏!

我可以通过引用这个设置远程私人registry: 远程访问私人dockerregistry

脚步:

  1. 在registry主机上,运行docker run -p 5000:5000 registry
  2. 在客户端主机上,通过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进程。

现在,尝试如果它的工作:

  1. 在客户端,下载一个busybox图像docker pull busybox
  2. 给它一个新的标签docker tag busybox 10.11.12.0:5000/busybox
  3. 推送到registrydocker push 10.11.12.0:5000/busybox
  4. validation推码器docker search 10.11.12.0:5000/busybox
  5. 删除所有图像,并从您的registrydocker rmi busybox 10.11.12.0:5000:busybox docker pull 10.11.12.0:5000:busybox
  6. 运行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