本文主要是介绍docker之搭建maven私服,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一.基于Docker搭建Maven私服
1.下载镜像
docker pull sonatype/nexus3
2.配置参数启动容器
docker run -d -p 8081:8081 --name nexus --restart=always -v /opt/docker-nexus/data:/var/nexus-data sonatype/nexus3
参数说明:
- -d 后台运行
- -p 8081:8081 端口映射
- –name nexus 设置容器别名
- –restart=always 跟随docker启动
- -v /opt/docker-nexus/data:/var/nexus-data 数据挂载到宿主机目录
访问 http://ip:8081
Maven私服启动容器稍微比较慢,等待1分钟即可。
默认登陆账号 admin 密码 admin123
二.创建Maven私服仓库
1.点击设置按钮 – Repository – Create Repository
2.创建仓库
点击Create repository,然后选择maven2(hosted)然后输入仓库名称(lss-release)。在version policy中选择这个仓库的类型,这里选择release,在Deployment policy中选择Allow redeploy(这个很重要)
3. 创建私服账号
点击左侧菜单栏的Users菜单,然后点击Create local user
注意:status选择Active Granted授权nx-admin和nx-anonymous
三.将jar包上传到Maven私服
1. 配置Maven settings.xml
找到Maven的settings.xml文件,在中添加如下配置:
<servers><!-- Maven私服配置 --><server><id>lss0555</id> <!-- id 也是用户名 --><username>lss0555</username> <!-- 用户名--><password>888888</password> <!-- 密码--></server>
</servers>
2. 配置要上传项目的 pom.xml
注意:项目的限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE ,如下:
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>
3.poml文件配置
1.根标签下添加仓库地址配置(也可以直接配置在settings.xml中,就不用每个项目都配置了)
<project> <--根标签--><!--指定仓库地址 --><distributionManagement><repository><!--此名称要和.m2/settings.xml中设置的ID一致 --><id>lss0555</id><url>http://192.168.102.129:8081/repository/lss_realse/</url></repository></distributionManagement></project>
2.标签的下添加发布代码的插件依赖
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source> <!--指明源码用的Jdk版本--><target>1.8</target> <!--指明打包后的Jdk版本--></configuration></plugin><!--发布代码Jar插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.7</version></plugin><!--发布源码插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</version><executions><execution><phase>package</phase><goals><goal>jar</goal></goals></execution></executions></plugin></plugins></build>
3.mvn 打包
先mvn clean ,再进行 mvn deploy
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29.821 s
[INFO] Finished at: 2020-01-13T08:35:21+08:00
[INFO] Final Memory: 44M/288M
进入nexus查看,此时已经有了上传的jar包
可以直接在search界面中,search上传项目的名称,api
四.测试依赖信息,下载maven私服jar包
1.新建Maven项目,在pom.xml添加依赖:
<dependencies><dependency><groupId>com.sxkj</groupId><artifactId>api</artifactId><version>0.0.3-RELEASE</version></dependency></dependencies><repositories><repository><id>lss0555</id><url>http://192.168.102.129:8081/repository/lss_realse/</url></repository></repositories>
2.在setting.xml里面加入
<mirror><id>lss0555</id><mirrorOf>*</mirrorOf><name>Local Repository</name><url>http://192.168.102.129:8081/repository/lss_realse/</url></mirror>
五.问题
1.Incorrect username or password, or no permission to use the application.
首次登陆使用用户名密码:admin admin123提示这句话
解决:
1.查找该文件位置
find / -name ‘admin.password’
[root@localhost conf.d]# find / -name 'admin.password'
/var/lib/docker/volumes/5e9c11cb210d1c455816df186170072c0684be9aa2a8e4029192da0f499d2106/_data/admin.password
2.打开该文件查看密码
cd /var/lib/docker/volumes/5e9c11cb210d1c455816df186170072c0684be9aa2a8e4029192da0f499d2106/_data/cat admin.password
85fed095-d43f-4c2c-8021-f6cf9a979bef里面内容即为密码
这篇关于docker之搭建maven私服的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!