1.查找nexus3镜像
docker search nexus3
2.拉取nexus3镜像
docker pull docker.io/sonatype/nexus3
3.运行nexus容器
docker run -id --privileged=true --name=nexus3 --restart=always -p 8081:8081 -v /kichun/nexus3/nexus-data:/var/nexus-data 6e9721ad473a(这个是容器id或名称,根据自己的id替换)
4.解释:
-id 创建守护式容器
–privileged=true 授予root权限(挂载多级目录必须为true,否则容器访问宿主机权限不足)
–name=名字 给你的容器起个名字
-p 宿主机端口:容器端口映射
-v 宿主机目录:容器目录 目录挂载
注意:
运行容器后访问主机+配置的宿主机映射端口无反应时,请稍等几分钟(视配置时间长短不一),等待nexus3完成初始化才能访问成功
nexus容器运行后在浏览器通过ip+8081端口访问nexus页面
repositories说明
maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
修改jar下载地址:http://maven.aliyun.com/nexus/content/groups/public/
maven-releases:私库发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
点击设置–repositories–maven-central–remote storage,将默认的maven地址换为
http://maven.aliyun.com/nexus/content/groups/public/
5.配置到你本地maven的settings文件
注释掉原来的从阿里云拉取的配置
注意:是public group仓库地址而不是releases或snapshots仓库,public默认包含了这两个仓库
<profiles>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>local-nexus</id>
<url>http://192.168.11.180:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
//注意:上面的url是maven-public的url
6.配置maven settings文件的服务器用户名密码
注意:id为私服中releases和snapshots仓库名,必须一致,userName和password与登录名密码一致
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
改好后保存,回到IDEA,可以看到maven开始将调用的依赖存到了我们的maven私服
回到maven-public,可以看到下载的依赖包
7.如果想打包本地项目到maven私服,则需要在项目父pom文件中配置部署环境,注意id及URL必须与nexus仓库对应
<!--私服仓库-->
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.233.123:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.233.123:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
//url去对应的nexus上找
回到项目中点击install打包,然后点击deploy即可推送到私服仓库