手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭

Docker中部署Sonatype Nexus Repository Manager仓库管理系统

Nexus简介

Sonatype Nexus Repository Manager即Nexus,是Sonatype开发的最流行仓库管理系统。我们知道Git主要是管理源码,而Nexus主要用来管理源码编译后的文件。

Nexus主要有两个版本,Nexus2和Nexus3。Nexus2主要用来管理maven,而Nexus3支持maven、docker、npm、yum、apt、raw、nuget等多种仓库的管理。

仓库按照类型分为三种:代理仓库(Proxy)、宿主仓库(Hosted)、仓库组(Group),可以在创建仓库(“Repository”->“Repositories”->“Create repository”)的时候看到。

代理仓库(Proxy)

相当于配置docker镜像加速器。当有人从中央仓库下载镜像的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到本地。这样以后大家都是从Nexus仓库快速下载。maven-central仓库就是对中央仓库的代理。

宿主仓库(Hosted)

相当于本地仓库,不用外网,用来部署内部的版本构件,也可以用来存放无法从中央仓库获取的第三方库的构件。maven-releases和maven-snapshots均为宿主仓库。

仓库组(Group)

把多个仓库合成一个仓库来使用。把上几步创建的代理仓库和宿主仓库都加入到同一仓库组中,这样可以让仓库同时支持代理和自己上传。maven-public就是一个用户组,包含了上面三个仓库。

Sonatype Nexus Repository Manager有OSS和Pro两个版本,docker环境是OSS版,能满足基本需求。

Docker部署Nexus

通过“docker search nexus3”搜索nexus3镜像,通过“docker pull sonatype/nexus3”拉镜像,再通过下面的命令运行镜像。

docker run --name nexus3 \
-e TZ=Asia/Shanghai \
-v ~/docker/sonatype/nexus3:/nexus-data \
-p 8081:8081 \
-d sonatype/nexus3:latest

其中将“/nexus-data”目录挂载出来,以便更好维护nexus。

配置Nexus

第一次运行会比较慢,等容器启动完以后我们可以通过映射的8081端口访问nexus,第一次登录会提示管理员密码在“/nexus-data/admin.password”文件中,可以进入容器中查看,也可以直接查看挂载目录下该文件。

登录后会提醒修改密码。

配置匿名权限,“Disable anonymous access”则需要登录才能访问Nexus。

完成以后,点上面菜单栏的“Server administration and configuration”可以进行各种配置,在“Security”下面可以配置Privileges(权限)、Roles(角色)、Users(用户)等。

先通过“Security”->“Roles”->“Create Role”来创建角色,“Role ID”保存后不能修改,“Privileges”可以到“Security”->“Privileges”看有哪些权限及相关描述。

接下来通过“Security”->“Users”->“Create local user”来创建用户,“ID”保存后同样不能修改,在“Roles”下面就可以选我们刚刚创建的角色,创建完用户就可以用它来发布上传文件了。

可以通过“System”->“Email Server”来配置邮箱功能。

其中“Password”是授权码而不是邮箱密码,之前在其他文章有讲过怎么申请。

部署到云服务器上就可以配置SSL,我的服务器是用Nginx做代理所以只要添加个conf配置文件并代理到nexus即可。

更多内容请访问官方文档


历史上的今天:

展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统