Docker搭建Maven私服
第一步:拉取nexus3的镜像
拉取nexus3的镜像,也可指定版本,本文使用3.71.0版本进行安装
docker pull sonatype/nexus3 //拉取最新版本 或 docker pull sonatype/nexus3:3.71.0 //拉取指定版本
第二步:查看nexus3镜像
输入docker images 查看nexus3镜像是否下载成功,如图所示即下载成功
第三步:创建nexus3挂载文件夹
本文使用Windows方式创建,在自己指定的目录创建文件夹即可,本文创建目录为D:/nexus3/data,在创建容器时将该目录挂载到容器目录
第四步:启动nexus3容器
docker run -d -p 8081:8081 --name nexus -v D:/nexus3/data:/nexus-data --restart=always sonatype/nexus3:3.71.0
-d: 后台运行容器
-p: 指定端口
--name: 指定容器名称
-v: 将宿主机的D:/nexus3/data目录挂载到容器的/nexus-data目录,容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定, 冒号":"前面的目录是宿主机目录,后面的目录是容器内目录
--restart: 指定容器的重启策略,always即当容器退出时总是重启容器
sonatype/nexus3: 指定使用Sonatype提供的Nexus 3.x版本的镜像来创建容器
第五步:查看容器启动状态
输入docker ps -a 查看所有容器,如图所示,该容器已经启动成功
第六步:查看容器日志
如图所示,显示OSS即为启动成功
第七步:配置nexus3
Nexus3容器启动时监听的端口和宿主机端口都是8081,所以,我们在浏览器地址栏输入http://自己的ip:8081打开Nexus3页面,如图所示
点击右上角的sign in,我们将nexus挂载文件夹放在D盘了,可以进入找到,打开如图的文件即可知道密码,用户名都为admin,登录之后,需要重置密码
重置密码
第八步:配置阿里云仓库
可以看到,maven-central仓库配置的远程链接为https://repo1.maven.org/maven2/,从这个远程仓库下载依赖很慢,经常连不上,所有我们需要配置阿里云远程代理仓库
返回到仓库页面,点击create
滑到最下面,点击Create repository按钮
点击Create repository按钮后,就可以在Repositories列表中看到新配置的阿里云代理仓库了,并且Status显示的是Online - Ready to connect,说明阿里云远程仓库配置成功
第九步:配置仓库组
再次回到仓库页面,点击maven-public
下拉滚动条, 找到如图所示的配置
将aliyun-central移动到右侧,并排在最上面
第十步:创建用户
创建一个用于上传Jar包到仓库的用户,点击Security菜单下的Users菜单
这里自行记录用户的密码,用于后续上传jar文件使用,配置好之后,点击底部的Create local user按钮即可。点击后在Security菜单下的Users菜单的用户列表中,可以查看到新创建的本地用户
至此,Nexus3配置完毕
第十一步:配置本地Maven仓库
配置完Nexus后,接下来,还需要对本地的Maven仓库进行配置,主要就是对Maven的的settings.xml文件进行配置,复制setting.xml文件为setting-lemon.xml文件
配置servers节点,在settings-lemon.xml文件中,找到servers节点,在servers节点中,配置创建的用户
<server>
<id>lemon</id>
<username>admin</username>
<password>admin123</password>
</server>
配置mirrors节点,在settings-binghe.xml文件中,找到mirrors节点,在mirrors节点中,配置仓库地址
<mirror> <id>lemon</id> <name>Local Repository</name> <url>http://47.101.190.229:8081/repository/maven-public</url> <mirrorOf>*</mirrorOf> </mirror>
配置profiles节点,在settings-binghe.xml文件中,找到profiles节点,在profiles节点中,配置仓库信息
<profile> <id>maven-public</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> <repositories> <repository> <id>nexus-public</id> <url>http://47.101.190.229:8081/repository/maven-public</url> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> </profile>
至此,Maven私服仓库搭建完毕,并且本地Maven也已经配置完毕,后续使用Maven构建项目时,指定使用settings-lemon.xml文件即可将依赖的Jar文件和生成的Jar文件上传到Maven私服仓库,如果使用IDEA编译项目,也需要在IDEA中,将Maven的配置文件指定为settings-lemon.xml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)