无法连接到存储在Azure虚拟机上的Nexus 3预览版上的Dockerregistry

基本上我无法连接到dockerregistry我试图使用最新的Nexus预览。 首先,我在运行Ubuntu 14.04 trusty的MS Azure云服务器上安装Sonotype Nexus 3 Preview。 让我们打电话给这个位置

进入 Nexus用户界面。 我从开始到结束使用本指南 – https://books.sonatype.com/nexus-book/3.0/reference/index.html

所以我知道连接到一个远程的Docker仓库的唯一方法是通过SSL,所以我使用8443端口显示在联结中启用了HTTPS。 然后,我创build了一个名为docker-hub的Docker代理服务器repo,以便能够按照本指南第8.3节中所述从Docker Central Hub中提取图像。 Nexus显示回购有一个URL

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

然后,我创build了一个名为docker-mySoftware的私有托pipe库,其中包含指向第8.4节中介绍的HTTPS docker连接器端口18444 ,Nexus将URL显示为

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

然后,我创build了一个名为docker的组别回购站 – 所有包含上述2的HTTPS docker连接器端口为18443(如本指南第8.5节所述),Nexus将URL显示为

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

起初,当我尝试运行下面8.7部分中所述的代码时,使用我的本地docker客户端也在我的物理笔记本电脑上运行ubuntu来testing代理

sudodockersearchmy-azure-site.cloudapp.net:18443/postgres

我得到的东西说有一个为my-azure-site.net:18443的CA证书,但不是为my-azure-site.cloudapp.net:18443所以我重新使用keytool的证书包括cloudapp部分。 现在,当我重试它,我越来越

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

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

我尝试重新创build回购,reindexing代理回购,在nexus azure云上重新创build证书,使用

sudo docker -d --insecure-registry my-azure-site.cloudapp.net:18443在我的docker客户端机器上,希望得到所有这些authentication的东西,但仍然没有运气。 我尝试了不同的URL组合,如

sudo dockersearchmy-azure-site.cloudapp.net:18443/nexus/postgres和https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/nexus等。

正如您正确识别设置上下文path引起的问题。 这原来是一个错误,现在已经修复了。 Nexus 3(Milestone 6)的下一个版本将包含该修复程序,并允许您使用上下文path。

但请记住,上下文path不会成为Docker的URL的一部分,因为dockerregistry格式,因此docker客户端也不支持上下文path。 因此,对于Docker的具体用法,您将继续使用端口logging。

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

所以基本上这意味着每个不同的存储库你想主持你需要有一个不同的端口configuration? 这不是很干净,特别是在图像名称。