从此处的文档:https://books.sonatype.com/nexus-book/3.0/reference/docker.html
我可以得出结论,除非我通过https公开它,否则我无法创建私人docker注册表。
Docker依赖于使用SSL连接到存储库的安全连接。因此,需要通过HTTPS 将存储库管理器公开给您的客户端工具。这可以通过外部代理服务器配置,也可以直接与存储库管理器配置。有关更多详细信息,请参见第5.9.4节“入站SSL - 配置为通过HTTPS提供内容”。
我已完成所有这些步骤(使用https://localhost:5001上的反向代理转发到带有http连接器的nexus代理注册表)。但是现在我想从我的本地注册表开始,我找不到通过https访问它的方法。
以下命令在此处描述:https://docs.docker.com/engine/reference/commandline/pull/#pull-from-a-different-registry
docker pull localhost:5001/hello-world
返回:
来自守护程序的错误响应:解析HTTP 400响应正文时出错:无效字符'<'寻找值的开头:" \ n \ n400错误请求\ n \ n
错误请求
\ n您的浏览器发送了此服务器无法理解的请求。
\ n \ n"
\ n \ n \ n \ n \原因:您正在向支持SSL的服务器端口发送纯HTTP。
\ n \ n而是使用HTTPS方案访问此URL。
\ n
当我尝试这个时:
docker pull https://localhost:5001/hello-world
我明白了:
无效的参考格式
答案 0 :(得分:0)
解决方法是:
为您通过
访问存储库的代理拥有有效的SSL证书或
创建自签名证书并手动将其插入Windows Trusted root authorities certificates 您要从中访问注册表的计算机。
这应解决任何问题和相关信息。尝试访问https://proxyUrl:5000/v2,您现在应该获得与以前不同的消息,并且能够拉动并推送到注册表。