docker 登录私有连接 => 来自守护进程的错误响应:登录尝试 http://ip:port/v2/ 失败,状态:404 Not Found

问题描述 投票:0回答:3

我尝试将 Docker 映像推送到我的私有 Nexus 3 注册表。

在推送之前,我尝试验证操作:

docker login nexus_host:nexus_port

但是我收到以下错误消息:

来自守护程序的错误响应:登录尝试 http://nexus_host:nexus_port/v2/ 失败 状态:404 未找到

我的 Nexus 使用 HTTP,因此将其添加到 docker 不安全注册表列表中。

  • Nexus 版本:Nexus Repository Manager OSS 3.9.0-01
  • Docker 版本:17.09.1-ce (Windows 10)

编辑(08/03/2018):

我使用托管的 Docker 存储库。我应该使用 HTTP 连接器吗?

回购配置:
格式:docker
类型:托管
网址:http://192.168.0.90:8082/repository/docker-repo/
HTTP 连接器端口:1111

登录尝试:

docker login 192.168.0.90:8082
=> 来自守护程序的错误响应:登录尝试 http://192.168.0.90:8082/v2/ 失败,状态:404 Not Found

docker login 192.168.0.90:1111
=> 来自守护进程的错误响应:获取 https://192.168.0.90:1111/v2/: 拨打 tcp 192.168.0.90:1111: getsockopt: 连接被拒绝

docker nexus
3个回答
6
投票

登录 docker 存储库的正确命令是

docker login 192.168.0.90:1111
,因为您已在端口
1111
上启用了 HTTP 连接器。

请确保您已在 Docker 存储库设置中选中强制基本身份验证,并使用与访问 Nexus Repository Manager 实例相同的凭据。


如果上述方法没有帮助,那么您应该关注导致连接被拒绝的原因 - 请检查您和 Nexus 阻塞端口

docker login

(您的 docker 存储库连接器端口)之间是否存在防火墙。

    


0
投票

您只需在使用此命令运行容器之前公开您选择的端口:

1111

第一个端口(8081)用于连接本身,第二个端口(8082)用于配置中的http连接器。

就是这样!

这是关于这个主题的一个很好的指南:

https://www.ivankrizsan.se/2016/06/09/create-a-private-docker-registry/


0
投票

我在这里写下解决问题的正确步骤

1- 在运行 Nexus 镜像时,您应该添加两个端口,如下所示:

docker run -d -p 8081:8081 -p 8082:8082 --name nexus sonatype/nexus3

2-运行nexus后,使用管理员密码并登录UI

3- 转至设置 > 存储库并选择

docker run -d -p 8081:8081 -p 8082:8082 --name nexus sonatype/nexus3

。然后选择

Create Repository
并填写所需数据,如下图

4- 转到“设置”>“领域”并选择如下图所示的选项

5-不要忘记

docker(hosted)

更改

6-现在你可以使用用户名和密码登录docker到nexus

© www.soinside.com 2019 - 2024. All rights reserved.