Docker部署sonatype/nexus3登录报错:用户名密码错误或无权限
问题成因
- 新版官方
sonatype/nexus3镜像已取消固定默认密码admin123,该密码仅适用于极早期的Nexus3版本,多数旧教程未同步版本更新说明才会标注该默认密码。新版本首次启动时会自动为admin账号生成随机初始密码,存储在容器内部的指定文件中。 - 若你之前曾启动过绑定同一数据卷的Nexus3容器,且已经完成过初始密码修改,旧的默认密码会直接失效。
- 少数异常场景是容器启动时挂载的数据卷权限不足,导致账号权限初始化流程失败,也会抛出该登录报错。
解决方案
步骤1:获取初始随机密码
- 先查询正在运行的容器列表,拿到Nexus3对应的容器ID:
docker ps - 替换命令里的容器ID,执行命令读取容器内存储的初始密码:
docker exec -it <你的Nexus3容器ID> cat /nexus-data/admin.password - 复制终端输出的字符串,这就是admin账号的首次登录密码,注意不要复制到末尾的换行符或多余空格。
步骤2:登录并重置密码
- 访问本地Nexus服务(默认地址为
http://localhost:8081),用户名输入admin,密码粘贴刚才获取到的随机初始密码完成登录。 - 首次登录后系统会自动弹出密码重置引导,按提示设置你自己的常用密码即可,后续登录直接使用新设置的密码。
异常场景处理
- 如果执行读取密码的命令提示找不到
admin.password文件,说明该实例已经完成过首次初始化(该文件会在第一次登录改密后自动删除)。如果是刚搭建的空环境,可以直接删除当前容器与绑定的Nexus数据卷,重新运行容器后再按上述步骤获取初始密码即可(注意该操作会清空Nexus内存储的所有仓库数据,已有存量数据的环境不要执行)。 - 如果确认是数据卷权限导致的初始化异常,先停掉运行中的Nexus容器,给本地挂载的Nexus数据目录授予对应权限后重启容器即可,授权命令参考:
sudo chown -R 200:200 <你本地挂载的Nexus数据目录绝对路径>
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

