连接到存储在 Azure VM 上的 Nexus 3 Preview 上的 Docker 注册表时出现问题

2024-03-02

基本上,我在连接到我尝试使用最新的 Nexus 预览版创建的 docker 注册表时遇到了问题。首先,我在运行 Ubuntu 14.04 trusty 的 MS Azure 云服务器上安装了 Sonotype Nexus 3 Preview。我们称这个位置为

my-azure-site.cloudapp.net:8443/nexus进入 Nexus UI。我从头到尾都在使用本指南 -https://books.sonatype.com/nexus-book/3.0/reference/index.html https://books.sonatype.com/nexus-book/3.0/reference/index.html

所以我知道连接到远程 Docker 存储库的唯一方法是通过 SSL,因此我在 nexus 中启用了 HTTPS,如使用 8443 端口所示。然后,我创建了一个名为 docker-hub 的 Docker 代理存储库,以便能够从 Docker Central Hub 中提取映像,如指南第 8.3 节所述。 Nexus 显示该存储库的 URL 为

https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-hub/ https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-hub/

然后我创建了一个名为 docker-mySoftware 的私有托管存储库,其 HTTPS docker 连接器端口为18444如指南第 8.4 节所述,Nexus 将 URL 显示为

https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-mySoftware/ https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-mySoftware/

然后我创建了一个名为 docker-all 的组存储库,其中包含上述 2 个内容,其 HTTPS docker 连接器端口为18443如指南第 8.5 节所述,Nexus 将 URL 显示为

https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/ https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/

起初,当我尝试运行第 8.7 节中概述的以下命令来使用我的本地 docker 客户端(也在我的物理笔记本电脑上运行 ubuntu)测试代理时

sudo docker 搜索 my-azure-site.cloudapp.net:18443/postgres

我收到消息说 my-azure-site.net:18443 有一个 ca 证书,但没有 my-azure-site.cloudapp.net:18443,因此我使用 keytool 重新创建了证书以包含 cloudapp 部分。现在当我重试时我得到了

来自守护程序的错误响应:意外的状态代码 404

顺便说一句,我忘了提及我事先在 Azure 控制台上打开了端口 18444 和 18443。

我尝试重新创建存储库、重新索引代理存储库、在 nexus azure 云上重新创建证书,使用

sudo docker -d --insecure-registry my-azure-site.cloudapp.net:18443在我的 docker 客户端计算机上希望能够绕过所有这些认证内容,但仍然没有运气。我尝试了不同的 URL 组合,例如

sudo docker 搜索 my-azure-site.cloudapp.net:18443/nexus/postgres 和https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/nexus https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/nexus etc.


正如您正确确定的那样,设置上下文路径导致了问题。事实证明这是一个错误,现已修复。 Nexus 3 (Milestone 6) 的下一个版本将包含该修复并允许您使用上下文路径。

但请记住,上下文路径不会成为 Docker URL 的一部分,因为 docker 注册表格式以及 Docker 客户端都不支持上下文路径。因此,对于 Docker 的特定用法,您将继续使用文档中的端口。

更新:里程碑6版本已经发布并包含相关修复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接到存储在 Azure VM 上的 Nexus 3 Preview 上的 Docker 注册表时出现问题 的相关文章

随机推荐