【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解

基于Docker搭建Maven私服,以及项目如何使用Maven私服详解

      • 1.Nexus是什么
      • 2.Nexus和Maven私服原理
      • 3.什么场景用Maven私服呢?
      • 4.基于Docker搭建Nexus构建Maven私服
        • 1.下载nexus3的镜像
        • 2.使用镜像启动一个容器
        • 3.登录Maven私服
        • 4.修改初始密码,登录Maven私服
        • 5.创建Maven私服
          • 1.创建Maven总库
          • 2.创建Maven存储库
        • 6.Java项目构建jar包上传至Maven私服
          • 1.修改本地settings.xml
          • 2.将其打开找到的setting.xml
          • 3.配置项目的pom文件
          • 4.打包上传
        • 7.测试从Maven私服使用jar包


推荐个人Docker文章,讲的非常详细

【玩转Docker容器 1】Dockerd的详解及安装
【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境
【玩转Docker容器 3】基于Docker部署SpringBoot项目
【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解
【玩转Docker容器 6】基于Docker构建GitLab管理代码
【玩转Docker容器 7】基于Docker安装Jenkins实现自动化构建、部署、测试、监控项目

1.Nexus是什么

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。我们可以在局域网搭建一个maven私服,用来部署第三方公共构件或者作为远程仓库在该局域网的一个代理。

2.Nexus和Maven私服原理

解释:Nexus就是Maven的私服仓库,一般大一点的公司都已自己的私有Maven库

1、我们从项目实际开发来看一些无法从外部仓库下载的组件(自定义的组件,未开源),例如内部的项目还要用的,这样我们就可以署到私服上,以便供其他依赖项目使用。

2、为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第1张图片

3.什么场景用Maven私服呢?

1.在实际开发中,项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。

2.自定义的jar包,或者SpringBoot的pom包,一些自己封装好的包打包到私有Maven中去,只供自己或者朋友使用(就比如你封装了个非常强大的代码自动生成器,或者微信和支付宝支付的封装,只需要稍微的配置就可以使用,这时你就可以打包到Maven私服中去,下次直接在pom或xml文件配置坐标就行了,只给自己或者公司或者朋友使用)

4.基于Docker搭建Nexus构建Maven私服

1.下载nexus3的镜像

一定要是搭建了Docker的Linux环境哟,不知道的可以看我之前位置

输入:
docker pull sonatype/nexus3

在这里插入图片描述

2.使用镜像启动一个容器

注:将容器内部/var/nexus-data挂载到主机/root/nexus-data目录(8081:8081是Linux与Docker的端口映射)
docker run -d -p 8081:8081--name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3 

在这里插入图片描述

3.登录Maven私服

关闭防火墙,访问http://ip:8081
Maven私服启动容器稍微比较慢,等待一会即可。

注:默认账号密码为admin/admin123
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第2张图片

妈耶,进不去,算了改密码吧
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第3张图片

4.修改初始密码,登录Maven私服

用户名或密码不正确,这个时候我们可以去admin.password文件中去看初始密码。

输入:(找到密码文件)
find / -name 'admin.password'

在这里插入图片描述

输入:
cat 输入上面查找的文件位置获取密码

在这里插入图片描述

那一串乱七八糟的就是密码。那他的登陆进去修改密码
再次登录,登录进去后他会默认让你修改用户名密码,注意俩个都是打新密码
在这里插入图片描述
一直下一步就好了

5.创建Maven私服

1.创建Maven总库

在这里插入图片描述
在这里插入图片描述
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第4张图片
点击蓝色的创建就ok啦

2.创建Maven存储库

点击设置界面,选择Repositories,点击Create repository,如下图所示:
在这里插入图片描述
选择仓库类型,这里Maven有三种类型,分别是group、hosted、proxy。这里只演示hosted类型,所以选择Maven(hosted),如下图:
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第5张图片
这里的仓库选择正确哟
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第6张图片
输入了name,选择好了Storage,后移到底下选择创建
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第7张图片
出现如图
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第8张图片
已成功,忽略地下的docker为什么很慢的不一样,docker是之前创建的

6.Java项目构建jar包上传至Maven私服

1.修改本地settings.xml

使用idea找到settings.xml
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第9张图片
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第10张图片

2.将其打开找到的setting.xml

【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第11张图片
在server标签里面加上你登录maven私服的用户名密码
有可能这个文件会有很多注释,忽略就好了,我截的屏没有
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第12张图片

3.配置项目的pom文件

在pom里面添加
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第13张图片


    
    
        
            
            boot-tool
            
            http://120.77.0.58:8081/repository/boot-tool/
        
    

    
        
            
            
                org.apache.maven.plugins
                maven-deploy-plugin
                2.7
            
            
            
                org.apache.maven.plugins
                maven-source-plugin
                2.2.1
                
                    
                        package
                        
                            jar
                        
                    
                
            
        
    

上传的位置记得要改,改成私有maven仓库的位置
私有仓库位置在:

【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第14张图片
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第15张图片

4.打包上传

在ider底下点击Terminai

输入:mvn deploy
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第16张图片

等待一会就上传成功了
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第17张图片
网页访问自己的上传位置看看
在这里插入图片描述
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第18张图片
已成功
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第19张图片

7.测试从Maven私服使用jar包

如何引用呢,我这里创建了一个空的Maven项目

对比一下俩张图,只需在pom文件类要把name,id,版本对应,在引用远程仓库地址即可使用
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第20张图片
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第21张图片
代码

    
        
            com.lijie
            lijie-core-boot
            2.0
        
    

    
        
            mayikt
            http://120.77.0.58:8081/repository/boot-tool/
        
    

这就是我引入的jar包
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解_第22张图片

你可能感兴趣的:(Linux,Docker,服务器)