docker安装nexus(Docker 搭建 Nexus3 私服 | 基本操作)
1 Docker 安装 Nexus3
1.1 创建目录
在硬盘上创建 Nexus3 的主目录:
mkdir -p /Users/yygnb/dockerMe/nexus3为该目录添加权限:
chmod 777 -R /Users/yygnb/dockerMe/nexus31.2 拉取镜像
搜索镜像:
docker search nexus3搜索结果:
拉取镜像:
docker pull sonatype/nexus31.3 运行容器
镜像拉取完毕后 ,便可运行容器 ,这里映射了 nexus-data 目录到上面创建的目录和三个端口 。三个端口分别是:
8081 - nexus3 服务端口 8082 - host 镜像仓库的服务端口 8083 - group 镜像仓库的服务端口运行容器:
docker run -tid \ -p 8081:8081 \ -p 8082:8082 \ -p 8083:8083 \ -v /Users/yygnb/dockerMe/nexus3:/nexus-data \ --name nexus3 \ -e NEXUS_CONTEXT=nexus \ sonatype/nexus3查看容器运行状态:
docker ps -a | grep nexus3查看容器的日志:
docker logs -f nexus3 或 docker logs -f 547b如果容器运行失败 ,尝试把 docker 内存和硬盘调大(Preferences --> Resources):
重启 docker 后 ,重新启动容器:
docker start nexus31.4 访问私服
容器启动后 ,在浏览器中访问:
localhost:8081/nexus点击右上角 ”Sign in“按钮 。第一次登录时 ,登录弹窗中会显示密码位于/nexus-data/admin.password 。由于 /nexus-data 目录已经映射到磁盘的 /Users/yygnb/dockerMe/nexus3 目录 ,故可以在该目录查看到 admin.password 文件 。也可以在控制台中进入容器查看:
进入容器:
docker exec -it nexus3 /bin/bash查看密码:
cat /opt/sonatype/sonatype-work/nexus3/admin.password使用用户名"admin" 和上面查看到的密码登录 。登录成功后 ,根据向导修改密码 。
在下一步配置匿名访问时 ,通常选择 Enable anonymous access ,这样只有在上传包的时候需要 profile ,拉取包时可以匿名 。
2 Nexus3 基本管理
由于后面要分别讲述 JS 和 Java 使用 Nexus3 私服 ,两者都涉及到仓库创建,故单独把这一块提出来 ,后面便不再赘述 。
2.1 角色管理
nexus3 支持创建角色和用户 ,可以创建一个角色,让该角色只能发布包到私服 。
1)进入角色管理界面 ,点击右上角的“Create Role ”创建角色 ,如下图:
2)Role Type 选择:nexus role;
3)分别填写角色 ID 、名称 、描述 ,权限选择:nx-repository-view-*-*-*
4)填写完毕后保存该角色 。
2.2 用户管理
创建完角色后 ,需要创建用户 ,给该用户分配 nx-deploy 的角色 。
在用户管理界面 ,点击 Create local user 按钮进入创建用户界面 。在创建用户界面填写表单信息 ,并分配上一步创建的角色 nx-deploy 。
id:syouyage password:111111 email:heroyyg@126.com如下图:
用户创建成功后 ,便可在用户列表中看到刚创建的用户 。
可以退出登录 ,测试使用刚才创建的用户名和密码登录nexus3 。
2.3 设置 Realms
如果搭建 npm 私服 ,发布 JS 库时需要通过 npm login 等录 ,在发布的时候需要私服支持 npm bearer token 方式。
进入 Realms 设置界面 ,将 npm Bearer Token Realm 选到右侧 。如下图所示:
2.4 仓库管理
如下图进入仓库管理界面:
在仓库列表界面可以点击 Create repository 按钮创建仓库,也可以点击其中某个仓库修改仓库信息或删除仓库 。
2.5 仓库类型
点击 Create repository 按钮后 ,会进入选择仓库类型的界面(Select Recipe) 。Nexus3 有三大种类型:hosted 、proxy 、group 。
1)hosted:宿主仓库 ,即本地仓库,该仓库存放本地项目产生的构建 ,无论是团队内部开发了通用组件库 、公共 jar 等 ,都是发布到这里面 。
2)proxy:代理仓库 ,用来代理远程仓库 ,如代理 Maven 中央仓库等 。
3)group:仓库组 ,可以聚合上面两者 。因为在开发过程中 ,某些包是远端的 、某些包是内部私服中的 ,这样就对应了两个地址 ,使用仓库组将 hosted 和 group 聚合 ,暴露为一个地址 。
本文简单介绍了 Docker 环境下搭建 Nexus3 私服以及 Nexus3 私服的基本操作 ,后文将分别针对 npm(前端)和 maven(后端)如何使用 Nexus3 私服进行详细介绍 。
感谢你花费宝贵的时间阅读本文 ,如果本文给了你一点点帮助或者启发 ,还请三连支持一下,点赞 、关注 、收藏 ,作者会持续与大家分享更多干货
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!