Docker 安装 Nexus3及使用方法

1 Docker 安装 Nexus3

1.1 创建目录

在硬盘上创建 Nexus3 的主目录:

mkdir -p /usr/local/docker/nexus3

为该目录添加权限:

chmod 777 -R /usr/local/docker/nexus3

1.2 拉取镜像

搜索镜像:

docker search nexus3

请添加图片描述

拉取镜像:

docker pull sonatype/nexus3

效果:

[root@VM-4-11-centos docker]# docker pull sonatype/nexus3
Using default tag: latest
latest: Pulling from sonatype/nexus3
2562ea2dcfe3: Pull complete 
19e869bcc166: Pull complete 
7cfb94c39a83: Pull complete 
0f253198f08e: Pull complete 
65bf33450fb5: Pull complete 
49ef4fc4b423: Pull complete 
9e0b5c297f55: Pull complete 
Digest: sha256:eefa8ac08376b5d2be1078c25f3ef5feb5d70c3b20c59ca5255d33089a43c176
Status: Downloaded newer image for sonatype/nexus3:latest
docker.io/sonatype/nexus3:latest

1.3 运行容器

镜像拉取完毕后,便可运行容器,这里映射了 nexus-data 目录到上面创建的目录和三个端口。三个端口分别是:

8081 - nexus3 服务端口
8082 - host 镜像仓库的服务端口
8083 - group 镜像仓库的服务端口

创建启动脚本

vim startNexus.sh

脚本内容:

docker run -tid \
 --restart=always \
 -p 8081:8081 \
 -p 8082:8082 \
 -p 8083:8083 \
 -v /usr/local/docker/nexus3:/nexus-data \
 --name nexus3 \
 -e NEXUS_CONTEXT=nexus \
  sonatype/nexus3

保存

:wq!

给 startNexus3.sh 赋权

chmod -R 700 startNexus.sh

查看容器运行状态:

docker ps -a | grep nexus3

查看容器的日志:

docker logs -f nexus3
或
docker logs -f 547b

1.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

获取密码不要后缀bash-4.4$

在下一步配置匿名访问时,通常选择 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 按钮进入创建用户界面。在创建用户界面填写表单信息,并分配上一步创建的角色 ming 。
请添加图片描述

id:qmm
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 聚合,暴露为一个地址。文章来源地址https://uudwc.com/A/woqaw

原文地址:https://blog.csdn.net/ming_ming_de/article/details/129467745

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年09月30日 18:37
下一篇 2023年09月30日 20:37