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

问题描述 投票:0回答:2

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

os:ubuntu 16.x Docker版本:18.06.1-ce,构建e68fc7a 已经尝试过: 将以下行添加到/etc/docker/daemon.json中,

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

预期:我应该能够将图像推送到我自己的包含docker注册表的服务器中

docker ubuntu-16.04 docker-registry docker-repository
2个回答
1
投票

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

  1. 在您的dev计算机上运行本地注册表,您将图像推送到该计算机
  2. 使用反向隧道ssh到您的服务器: ssh -R 5000:localhost:5000 myhost (听远程机器的端口5000(-R 5000)并隧道回到本地机器上的localhost:5000
  3. 现在,在myhost上你可以使用docker pull localhost:5000/someImage,但它实际上是通过加密隧道无缝连接到dev机器上的注册表。

0
投票

您可以拥有本地不安全的注册表。为此,您需要在/etc/docker/daemon.json中添加一个例外,this way

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

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

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

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

service docker restart 
© www.soinside.com 2019 - 2024. All rights reserved.