使用Docker基于Nexus3快速搭建Maven私有仓库

Maven的基础示意图

Maven的基础示意图

环境搭建

  • 准备工作
    docker安装
    参考本人另一篇 Docker初识 -- 搭建编程环境

  • 下载Nexus3镜像

docker pull sonatype/nexus3
Nexus3镜像
  • 创建nexus的挂载文件夹
    文件夹的目录可以根据个人情况指定,如果不想挂载文件夹,那么可以忽略这一步(记住:忽略之后,下面的指令把-v的那部分去掉),资源就由容器自行去管理,为了数据的安全性,建议挂载操作
mkdir /usr/local/nexus-data && chown -R 200 /usr/local/nexus-data
  • 启动容器
docker run -d -p 8081:8081 --name nexus -v /usr/local/nexus-data:/nexus-data --restart=always sonatype/nexus3

启动容器并将宿主机/usr/local/nexus-data目录需要提前创建)目录映射到容器/nexus-data目录,这样就可以保存容器产生的文件了,具体请百度查询docker相关信息。
安装完成。

系统配置

浏览器地址栏输入IP:8081进入nexus3管理界面。

nexus管理首页

点击右上角的登录,登录管理,admin密码首次登录需要去指定位置查看随机生成的密码。

登录窗口

可以在登录窗口上看到密码的指定存放位置为/nexus-data/admin.password,因为该目录已经映射为宿主机的/usr/local/nexus-data目录。所以直接到/usr/local/nexus-data目录下查看文件admin.password

查看admin密码

可以看到admin的密码为09eac30e-b2f9-437d-9770-b35202ee43b7,这时就可以登录admin用户了,登录后nexus会要求重新设置新的admin密码。

  • 为Nexus配置阿里云代理仓库
    Nexus默认远程仓库为 https://repo1.maven.org/maven2/,慢死,还常连不上。
默认代理仓库
默认代理仓库地址

添加阿里云代理仓库:

添加仓库
选择类型
设置仓库信息

其他默认,翻到最下面,点create repository;

保存信息

显示 Ready to Connect就OK了:


image

把aliyun添加到仓库组中,记得把aliyun排在central上边:

设置代理仓库顺序
image
  • 创建一个用户,用于上传jar包到仓库


    用户设置
添加用户

最后点击保存用户。
到此Nexus的私有仓库基本设置完毕。

设置本地的maven到私有仓库

  • 配置maven信息


    maven目录结构

进入conf文件夹,找到settings.xml文件打开:

  • 找到servers节点,设置刚刚创建好的用户,比如我这里的用户为:

   public
   zihui
   zihui123456

  • 找到mirrors节点,设置仓库地址:
      
        
            central
            Central Repository
            http://10.168.1.118:8081/repository/maven-public/
            *
        

        
        
            alimaven
            central
            aliyun maven
            http://maven.aliyun.com/nexus/content/repositories/central/
        

        
        
            repo1
            central
            Human Readable Name for this Mirror.
            http://repo1.maven.org/maven2/
        

        
        
            repo2
            central
            Human Readable Name for this Mirror.
            http://repo2.maven.org/maven2/
        
  • 最后找到profiles节点:
 
            maven-public
            
                true
                1.8
            
            
                1.8
                1.8
                1.8
            
            
                
                    nexus-public
                    http://10.168.1.118:8081/repository/maven-public/
                    
                        true
                        always
                    
                    
                        true
                        always
                    
                
            

最后保存文件。

至此maven的基本设置就完成了。

设置项目的pom.xml文件,用于上传私有jar到私有仓库

 
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    ${java.version}
                    ${java.version}
                    ${project.build.sourceEncoding}
                
            
            
            
                org.apache.maven.plugins
                maven-deploy-plugin
                2.8.2
            
            
            
                org.apache.maven.plugins
                maven-source-plugin
                3.0.0
                
                    
                        install
                        
                            jar-no-fork
                        
                    
                
            
        
    

    
        
        
        
            public
            http://10.168.1.118:8081/repository/maven-releases/
        
        
        
        
            public
            http://10.168.1.118:8081/repository/maven-snapshots/
        
    

最后使用deploy发布属于自己的jar到自己的私有仓库。


发布jar包

你可能感兴趣的:(使用Docker基于Nexus3快速搭建Maven私有仓库)