Docker环境搭建 - Docker安装Maven私服Nexus3

环境

在 Centos7 的虚拟机上进行安装,虚拟机 IP 为 192.168.247.129

安装

拉取镜像

docker pull sonatype/nexus3 

查看镜像

docker images

运行容器

docker run -d --name nexus3 -p 8081:8081 -v /nexus-data:/nexus-data sonatype/nexus3

访问 Nexus3 首页 http://192.168.247.129:8081,使用 admin / admin123 进行登录

Nexus 的仓库分为这么几类:

  • hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件;
  • proxy 代理仓库:代理公共的远程仓库;
  • virtual 虚拟仓库:用于适配 Maven 1;
  • group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。

配置 Maven 使用 Nexus 私服

对 Maven 配置文件 settings.xml 进行配置

配置私服镜像


    
        central
        * 
        central-mirror
        http://192.168.247.129:8081/repository/maven-public/
    

mirrorOf 表示代理的镜像," * " 表示将 Nexus 配置成所有仓库的镜像,central 表示将 Nexus 配置成中央仓库的镜像

配置阿里云仓库代理中央仓库,Nexus 代理其它仓库


    nexus-aliyun
    Nexus aliyun
    http://maven.aliyun.com/nexus/content/groups/public
    central


    nexus
    *
    http://192.168.247.129:8081/repository/maven-public/

配置 Nexus 作为快照仓库


    
        nexus-resp
        
            
                nexus-releases
                http://192.168.247.129:8081/repository/maven-releases/
                true
                false
            
            
                nexus-snapshots
                http://192.168.247.129:8081/repository/maven-snapshots/
                false
                true
            
        
    
        
            
                nexus-plugin
                http://192.168.247.129:8081/repository/maven-public/
                true
                false
            
        
    



    nexus-resp

配置完成,本地 Maven 项目就可以从 Nexus 私服拉取项目依赖。

将本地项目打包至私服

配置上传帐户密码(配置在Maven的配置文件 settings.xml 中)


    nexus-releases
    admin
    admin123


    nexus-snapshots
    admin
    admin123

配置部署发布版及快照版(配置在项目的 pom 文件中)


    
        nexus-release
        http://localhost:8081/repository/maven-public/
    
    
        nexus-snapshots
        http://localhost:8081/repository/maven-snapshots/
    

配置完成,本地项目执行 deploy 时,就会上传至 Nexus 私服。

你可能感兴趣的:(#,Docker,Docker,Nexus,Maven)