一、简介
Nexus Repository Manager(简称Nexus)是一个强大的仓库管理器。
Nexus3支持maven、docker、npm、yum、apt等多种仓库的管理。
建立了 Maven 私服后,当用户需要某个包时:
- 请求本地仓库
- 请求Maven私服,将所需包下载到本地仓库
- 请求远程仓库,将所需包下载并缓存到Maven私服
二、Docker部署
操作系统:22.04.4
- 创建文件夹
mkdir -p /home/nexus && chown -R 200 /home/nexus
- 运行
docker run -d -p 8081:8081 -p 8086:8086 --restart=always -v /home/nexus:/nexus-data \
-e INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx512m -XX:MaxDirectMemorySize=2048m" \
--name soft-nexus sonatype/nexus3:3.67.1
-
密码
默认管理员admin,密码在 /home/nexus/admin.password
10c85f53-6913-4cd8-afb5-a1ccc675449c -
登录
http://192.168.1.13:8081
修改密码:admin123
三、仓库配置
- maven-aliyun
阿里云代理maven仓库,通过阿里云镜像下载依赖包
阿里云镜像:http://maven.aliyun.com/nexus/content/groups/public/
- maven-releases
公司内部发布的包
Allow redeploy:允许对仓库中的包维护升级新版本
- docker-releases
公司内部发布的docker镜像
- docker 添加权限
四、用户使用Maven
- 本地maven的setting.xml
例如在:apache-maven\conf\settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:\.m2</localRepository>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>maven-aliyun</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>maven-aliyun</id>
<name>nexus</name>
<url>http://192.168.1.33:8081/repository/maven-aliyun/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>maven-releases</id>
<name>nexus</name>
<url>http://192.168.1.33:8081/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
- 启动Spring项目更新上传包
五、管理Docker镜像
- 配置 /etc/docker/daemon.json
{
"registry-mirrors": ["http://192.168.1.33:8086", "https://registry.docker-cn.com"]
"insecure-registries": ["http://192.168.1.33:8086"]
}
systemctl daemon-reload && systemctl restart docker
- 登录
docker login 192.168.1.33:8086 -u admin -p admin123
- 上传镜像
docker tag redis:7.2.4 192.168.1.33:8086/redis:7.2.4
docker push 192.168.1.33:8086/redis:7.2.4
- 下载镜像
docker pull 192.168.1.33:8086/redis:7.2.4