1、查找镜像
docker search nexus
2、拉取镜像
docker pull sonatype/nexus3
3、启动容器
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 -v /etc/localtime:/etc/localtime --name nexus3 sonatype/nexus3
-v /home/nexus/nexus-data:/nexus-data 将数据挂载到宿主机
## 8081:nexus3网页端
## 8082:docker(hosted)私有仓库,可以pull和push
## 8083:docker(proxy)代理远程仓库,只能pull
查看启动日志
docker logs nexus3
4、开放端口
firewall-cmd --zone=public --permanent --add-port=8081/tcp
firewall-cmd --zone=public --permanent --add-port=8082/tcp
firewall-cmd --zone=public --permanent --add-port=8083/tcp
重新启动防火墙
systemctl restart firewalld
5、访问Nexus服务
http://localhost:8081/
点击右上角登录 账号密码:admin/admin123
也可以通过docker exec
命令进入容器中查看admin帐号的密码
docker exec -it nexus3 /bin/bash
vi /nexus-data/admin.password
exit
6、配置Nginx端口转发时的注意事项
:::tips 下面这两处需要配置为服务器的外网IP,否则会在加载静态资源时从该配置的主机名进行加载,如果配置为其他名称则会加载不到静态资源,会出现无法访问的问题 :::
7、设置开机启动
docker update --restart=always nexus3
8、在项目中配置使用新的仓库地址
<repositories>
<repository>
<id>maven-nexus</id>
<name>maven-nexus</name>
<url>http://192.168.0.129:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
9、Maven 配置使用私服(下载插件)
<pluginRepositories>
<pluginRepository>
<id>maven-nexus</id>
<name>maven-nexus</name>
<url>http://192.168.0.129:8081/nexus/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
10、Maven 配置使用私服(发布依赖)
(1)首先修改 setting.xml 文件
指定 releases 和 snapshots server 的用户名和密码:
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>123</password>
</server>
</servers>
(2)配置项目的 pom.xml文件
在项目的 pom.xml 文件中加入 distributionManagement 节点: :::tips 注意:repository 里的 id 需要和上一步里的 server id 名称保持一致。 :::
<distributionManagement>
<repository>
<id>releases</id>
<name>Releases</name>
<url>http://192.168.0.129:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshot</name>
<url>http://192.168.0.129:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>