在Docker中安装nexus3(作为maven私服)

1. 为什么我不推荐安装nexus2?

有两个原因:(1)nexus2安装麻烦,nexus3安装更方便 (2)Nexus 3相对于Nexus 2进行了一些重要的改进和增强。它引入了新的存储引擎、更多的仓库类型支持、改进的权限管理和用户界面,以及灵活的插件系统和增强的Docker支持。这些更新使得Nexus 3成为一个更强大、现代化和可扩展的仓库管理解决方案。

2. 安装步骤

(1)拉取镜像

复制代码
docker pull sonatype/nexus3

(2)创建一个文件夹用来挂载nexus数据

复制代码
mkdir /mnt/e/z-nexus-data

(3)启动容器

复制代码
docker run -dit\
 --name nexus\
 -p 8081:8081\
 -v /mnt/e/z-nexus-d:/nexus-data\
 --restart always\
 docker.io/sonatype/nexus3:latest

(4)查看管理员密码

复制代码
docker exec -it nexus cat /nexus-data/admin.password

(5)访问界面

复制代码
http://localhost:8081/

点击右上角登录,然后输入管理员密码

修改管理员密码

同意协议

开启匿名访问

3. 查看maven发布仓库地址

如下图获取到地址为

复制代码
http://localhost:8081/repository/maven-releases/

4. 上传maven依赖的脚本

在待上传的本地仓库目录下,打开git bash(若未安装git,可参考实践使用Gitee),通过以下命令新建文件

复制代码
vim upload_maven.sh

输入以下内容,然后保存并退出vim

bash 复制代码
#!/bin/bash

find . -type f  -name *.jar -o -name *.pom | sed "s|^\./||" | xargs -I '{}' curl -u "admin:admin" -X PUT -v -T {} http://localhost:8081/repository/maven-releases//{};

执行脚本

bash 复制代码
sh upload_maven.sh

50MB的本地maven文件,上传了5分钟 (22:40~22:45)。

5. 总结

本实践通过Docker安装nexus,并编写Maven依赖上传脚本,50MB的maven文件上传耗时约5分钟。