我在repository.company.com下部署了Sonatype Nexus (它在nginx代理后面)。
我创建了一个码头注册中心和码头代理,并将它们添加到一个码头组“公司-码头组”。代理设置为镜像https://registry-1.docker.io,并检查了外部层缓存选项。
我为端口8092设置了一个http连接器,但此时我无法更改nginx配置,以便可以直接访问该端口。我注意到码头组中有一个被定义为https://repository.company.com/repository/company-docker-group/的URL
我能通过这个网址进入这个组吗?我可以在这个url中docker login,但是当我尝试docker pull repository.company.com/repository/company-docker-group/maven:3.6.2-jdk-8时,我得到了这个错误:
Error response from daemon: manifest for repository.company.com/repository/company-docker-group/maven:3.6.2-jdk-8 not found: manifest unknown: manifest unknown我是否只能通过repository.company.com:8092/maven:3.6.2-jdk-8访问图像,或者是否有一种使用停靠组URL的方法?
发布于 2021-12-15 15:49:58
关于这个问题,Sonatype文档告诉我们:
Docker依靠使用SSL连接到存储库的安全连接。因此,通过<>E 114的HTTPS 交互
E 213向存储库的存储库管理器公开存储库管理器需要使用特定的端口E 215。可以在repository部分的存储库配置中配置这些端口,以使其在您的网络上工作,您需要确保选择的端口在组织中可用,而不被其他应用程序使用,并且没有防火墙或其他网络配置会阻止连接。
因此,对于您的情况,您必须通过命令docker login https://repository.company.com:8092登录到自定义停靠程序注册表。
成功登录后,假设您想要将nginx的自定义映像mynginx保存到公司专用码头注册表中的com/company/proxy文件夹中。为了能够将图像推送/拉出自定义的停靠库,您必须:
repository.company.com:8092/com/company/proxy/mynginx:1.0.0将图像标记为docker tag mynginx:1.0.0 repository.company.com:8092/com/company/proxy/mynginx:1.0.0。docker push repository.company.com:8092/com/company/proxy/mynginx:1.0.0通过保存您的自定义映像,您可以始终使用:docker pull repository.company.com:8092/com/company/proxy/mynginx:1.0.0来提取它
https://stackoverflow.com/questions/65586591
复制相似问题