Skip to content

Docker 安装 Nexus3 搭建 Maven 私服

官方镜像:https://hub.docker.com/r/sonatype/nexus3

创建容器

注意:最新版本的镜像需要在 CPU x86-64-v2 下运行,否则启动容器报 CPU does not support x86-64-v2 错误。

经测试:sonatype/nexus3:**3.68.1** 版本可在 CPU x86-64-v1 下运行。

shell
docker pull sonatype/nexus3:3.68.1

# 挂载卷
mkdir /opt/nexus/data && chown -R 200 /opt/nexus/data

docker run -d -p 8081:8081 --name nexus --restart=unless-stopped -v /opt/nexus/data:/nexus-data sonatype/nexus3:3.68.1

访问地址:http://localhost:8081/

访问 url后,才会在容器内部的 /nexus-data 路径下生成 admin.password 文件。

shell
# 查看默认密码
docker exec -it nexus cat /nexus-data/admin.password

默认用户:admin

默认密码:存放于挂载卷路径下的 admin.password 文件中。

mvn deploy:deploy-file 上传本地 jar 私服

命令参考

shell
mvn deploy:deploy-file -DgroupId=com.github.mengweijin -DartifactId=vita-admin -Dversion=1.0.0-SNAPSHOT -Dpackaging=jar -Dfile=vita-admin-1.0.0-SNAPSHOT.jar -Durl=http://localhost:8080/repository/my-repository-snapshot/ -DrepositoryId=my-repo -s settings.xml

注意:Windows 命令提示符下执行时,不认识 \ 命令换行,所以把命令弄成一行再执行。

命令解析

txt
mvn deploy:deploy-file \
  -DgroupId=com.github.mengweijin \
  -DartifactId=vita-admin \
  -Dversion=1.0.0-SNAPSHOT \
  -Dpackaging=jar \
  -Dfile=vita-admin-1.0.0-SNAPSHOT.jar \
  -Durl=http://localhost:8080/repository/my-repository-snapshot/ \
  -DrepositoryId=my-repo \
  -s settings.xml
  • -Dfile:指定本地 jar 的位置。可以是相对路径或绝对路径。
  • -Durl:指定私服地址。
  • -DrepositoryId:指定 settings.xml 中配置的 server 认证信息(可以是任意字符,但需要和 settings.xml 中保持一致)。
  • -s settings.xml:指定使用的 maven 配置。

settings.xml 配置中增加私服认证信息:

xml
<server>
    <id>my-repo</id>
    <username>admin</username>
    <password>123456</password>
</server>