You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法登录Nexus Docker私有仓库,连接被拒绝问题求助

问题分析与解决步骤

1. 当前错误与密码无关

你遇到的connection refused错误是网络连接层面的问题,还没到认证环节,所以和密码没有关系。先解决连接问题,再考虑认证相关内容。

2. 排查连接失败的核心原因

(1)检查Docker Compose的端口映射

确认你的docker-compose.yml中,是否将Nexus容器内的Docker仓库端口(比如你配置的5000)映射到了宿主机:

services:
  nexus:
    image: sonatype/nexus3
    ports:
      - "8081:8081"  # Nexus Web UI端口
      - "5000:5000"  # Docker仓库的HTTP端口,必须和仓库配置的端口一致
    volumes:
      - nexus-data:/nexus-data

如果没有添加5000:5000的映射,宿主机无法访问容器内的5000端口,就会出现连接拒绝。

(2)验证Nexus仓库的端口配置

对照你的仓库配置截图,确认Docker Hosted仓库的HTTP端口确实是5000。如果仓库配置的是其他端口,login时要使用对应端口。

(3)测试端口连通性

  • 在宿主机上执行curl http://<nexus-ip>:5000/v2/,如果返回{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"type":"repository","name":"你的仓库名"}]}]},说明端口连通正常,只是需要认证;如果还是连接拒绝,继续下一步。
  • 检查宿主机的防火墙/安全组,确保5000端口已经开放,允许外部(或本地)访问。
  • 进入Nexus容器内部测试:docker exec -it <nexus容器ID> curl http://localhost:5000/v2/,如果容器内也无法访问,说明Nexus的Docker仓库配置有误,需要重新检查仓库的启用状态和端口设置。

3. 关于Docker仓库的认证密码

  • Docker Hosted仓库不需要单独设置密码,认证使用的是Nexus系统的用户账号密码,你用admin账号是正确的,但需要确保admin用户拥有该Docker仓库的权限(比如nx-repository-view-docker-*相关权限)。
  • 如果后续解决连接问题后出现认证失败,可以:
    1. 检查Nexus中admin用户的权限配置,确保给该用户分配了对应Docker仓库的读写/只读权限;
    2. 重置admin密码:进入Nexus容器,查看初始密码文件cat /nexus-data/admin.password,登录后修改为自定义密码。

4. 完善insecure-registries配置

你已经添加了insecure-registries配置,但需要注意:

  • 配置后必须重启Docker守护进程才能生效:sudo systemctl restart docker
  • 确保配置的地址nexus-ip:5000和你login时使用的ip:port完全一致,不要有IP或端口的差异。

内容的提问来源于stack exchange,提问作者Tisighe Livinstone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:22:42