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/tcpfirewall-cmd --zone=public --permanent --add-port=8082/tcpfirewall-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/bashvi /nexus-data/admin.passwordexit
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>
