我在服务器中创建了本地docker存储库。当我尝试将图像推入图像时,出现错误。我需要一个HTTPS连接。如何为自己的Docker注册表获取HTTPS?
os: ubuntu 16.xDocker版本: 18.06.1-ce,构建e68fc7a已经尝试:将以下行添加到/etc/docker/daemon.json,
{
"insecure-registries" : ["myregistrydomain.com:5000"]
}
Expected:我应该能够将图像推入并拉入包含Docker注册表的我自己的服务器中
为了避免将注册表暴露给更广泛的互联网,同时仍然可以从中获取图像,您可以:
通过反向隧道连接到服务器:
ssh -R 5000:localhost:5000 myhost
(侦听远程计算机的端口5000(-R 5000
)并隧道返回本地计算机上的localhost:5000
)
现在,在myhost
上您可以docker pull localhost:5000/someImage
,但实际上它是通过加密隧道无缝连接回到开发人员计算机上的注册表。
您可以拥有本地不安全的注册表。为此,您需要在/etc/docker/daemon.json中添加一个例外,this way
{
"insecure-registries" : ["myregistrydomain.com:5000"]
}
同一链接显示了如何使用自签名证书。
最终,使用实际证书只是进一步的步骤,但是出于开发目的,您可能不需要一个。
EDIT:之后,您需要重新启动守护程序:
service docker restart