如何在我自己的服务器中创建私有存储库并公开该注册表

时间:2019-02-13 10:40:53

标签: docker ubuntu-16.04 docker-registry docker-repository

我在服务器中创建了本地docker存储库。
当我尝试将映像推送到其中时,出现错误。
我需要HTTPS连接。
如何获取我自己的Docker注册表的HTTPS?

操作系统: ubuntu 16.x
Docker版本::18.06.1-ce,构建e68fc7a
已尝试:
将以下行添加到/etc/docker/daemon.json,

{ "insecure-registries" : ["myregistrydomain.com:5000"] }

期望:我应该能够将图像推入并拉入包含Docker注册表的我自己的服务器中

2 个答案:

答案 0 :(得分:1)

要避免将注册表暴露给更广泛的互联网,同时仍然能够从中提取图像,您可以:

  1. 在您的开发机器上运行本地注册表,将映像推送到其中
  2. 通过反向隧道
  3. ssh到服务器:

    ssh -R 5000:localhost:5000 myhost

    (侦听远程计算机的端口5000(-R 5000)并通过隧道返回到本地计算机上的localhost:5000

  4. 现在,您可以在myhostdocker pull localhost:5000/someImage,但实际上它是通过加密隧道无缝连接回到开发人员计算机上的注册表。

答案 1 :(得分:0)

您可以具有本地不安全注册表。 为此,您需要在/etc/docker/daemon.json this way

中添加一个例外。
{
  "insecure-registries" : ["myregistrydomain.com:5000"]
 }

同一链接显示了如何使用自签名证书。

最终,使用实际证书只是进一步的步骤,但是出于开发目的,您可能不需要一个。

编辑
之后,您需要重新启动守护程序:

service docker restart