7

Docker 搭建 Nexus3 私服 | 基本操作 - 程序员优雅哥(\/同)

 3 years ago
source link: https://www.cnblogs.com/youyacoder/p/16647172.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

1 Docker 安装 Nexus3

1.1 创建目录

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

mkdir -p /Users/yygnb/dockerMe/nexus3

为该目录添加权限:

chmod 777 -R /Users/yygnb/dockerMe/nexus3

1.2 拉取镜像

搜索镜像:

docker search nexus3

搜索结果:

image-20220829111716623

拉取镜像:

docker pull sonatype/nexus3

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

image-20220829112858590

查看容器的日志:

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

如果容器运行失败,尝试把 docker 内存和硬盘调大(Preferences --> Resources):

image-20220829162526628

重启 docker 后,重新启动容器:

docker start nexus3

1.4 访问私服

容器启动后,在浏览器中访问:

localhost:8081/nexus
image-20220829141114397

点击右上角”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”创建角色,如下图:

image-20220829154804135

2)Role Type 选择:nexus role

3)分别填写角色 ID、名称、描述,权限选择:nx-repository-view-*-*-*

image-20220829155334500

4)填写完毕后保存该角色。

2.2 用户管理

创建完角色后,需要创建用户,给该用户分配 nx-deploy 的角色。

在用户管理界面,点击 Create local user 按钮进入创建用户界面。在创建用户界面填写表单信息,并分配上一步创建的角色 nx-deploy 。

id:syouyage
password:111111
email:[email protected]

image-20220829162116200

用户创建成功后,便可在用户列表中看到刚创建的用户。

可以退出登录,测试使用刚才创建的用户名和密码登录nexus3。

2.3 设置 Realms

如果搭建 npm 私服,发布 JS 库时需要通过 npm login 等录,在发布的时候需要私服支持 npm bearer token 方式。

进入 Realms 设置界面,将 npm Bearer Token Realm 选到右侧。如下图所示:

image-20220829171950545

2.4 仓库管理

如下图进入仓库管理界面:

image-20220829151153889

在仓库列表界面可以点击 Create repository 按钮创建仓库,也可以点击其中某个仓库修改仓库信息或删除仓库。

2.5 仓库类型

点击 Create repository 按钮后,会进入选择仓库类型的界面(Select Recipe)。Nexus3 有三大种类型:hosted、proxy、group。

image-20220829162417148

1)hosted:宿主仓库,即本地仓库,该仓库存放本地项目产生的构建,无论是团队内部开发了通用组件库、公共 jar 等,都是发布到这里面。

2)proxy:代理仓库,用来代理远程仓库,如代理 Maven 中央仓库等。

3)group:仓库组,可以聚合上面两者。因为在开发过程中,某些包是远端的、某些包是内部私服中的,这样就对应了两个地址,使用仓库组将 hosted 和 group 聚合,暴露为一个地址。

本文简单介绍了 Docker 环境下搭建 Nexus3 私服以及 Nexus3 私服的基本操作,后文将分别针对 npm(前端)和 maven(后端)如何使用 Nexus3 私服进行详细介绍。

image

感谢你花费宝贵的时间阅读本文,如果本文给了你一点点帮助或者启发,还请三连支持一下,点赞、关注、收藏,作者会持续与大家分享更多干货


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK