【使用Dokcer搭建Nexus Repository Manager 私有仓库】

此教程针对Linux系统,请提前安装好 Docker 和 JDK 推荐 JDK版本1.8+
查找想要下载的镜像

docker search sonatype

下载镜像

docker pull sonatype/nexus3 这里我们演示的版本为 sonatype/nexus3

创建文件(可忽略不创建直接启动)

在home下创建文件夹mkdir /home/nexus-datamkdir /home/sonatype-work
设置权限

启动镜像

直接启动 docker run -d -p 8081:8081 --name nexus sonatype/nexus3
挂载文件 docker run -d -p 8081:8081 --name nexus -u root -v /home/nexus-data:/nexus-data -v /home/sonatype-work:/sonatype-work sonatype/nexus3 -u root 是为了让容器有读写文件的权限 如果因为挂载文件导致的镜像启动失败 则需要单独对文件进行权限赋予

通过命令 docker logs --follow nexus3 查看是否启动成功

访问系统

访问 ip:9081/nexus 第一次访问因为初始化系统的缘故会比较缓慢,需耐心等待。

登录

访问成功后,点击页面右上角Sign in。账号默认为admin,密码 在 /home/nexus-data/admin.password 该文件中,使用vi admin.password 进行查看密码并登录。第一次登录成功后会提示重新设置密码。设置密码后 admin.password文件会消失
在这里插入图片描述

若文件挂载失败

若文件挂载失败,没有找到admin.password文件,通过命令 docker exec -it nexu3 /bin/bash 进入容器内部,在根目录找到admin.password文件进行查看密码。

仓库类型介绍

点击Repository ->Repositories 系统已经给我建立了默认的仓库。新建新的仓库对比着默认的创建就可以了

项目具体说明
hosted本地存储。像官方仓库一样提供本地私库功能
proxy提供代理其它仓库的类型
group组类型,能够组合多个仓库为一个地址提供服务

值得注意的是 创建仓库时 有个 What type of artifacts does this repository store?
对应三个值分别是 Release(稳定) Snapshot(快照) Mixed(混合:包含两者)
这里是需要我们上传的 jar包版本后缀对应的 如果你的jar包名为 xxx.1.1.SNAPSHOT.jar 则不能上传到Release类型下的仓库

上传jar

在项目使用的 maven settings.xml 中 写入

 <servers>
        <server>
            <id>对应仓库的name 例如 maven-release</id>
            <username>用户名</username>
            <password>密码</password>
        </server>
    </servers>

在pmx中写入

 <distributionManagement>
        <repository>
            <id>同settings.xml中的servers->server->id对应的值 如:maven-release</id>
            <url>http://100.196.149.18:8081/repository/maven-release/</url>
        </repository>
    </distributionManagement>

然后通过maven 命令 deploy 即可进行部署到对应的仓库中

引用jar包

先找到类型为group的仓库 ,进入编辑页面。在最下面 Group->Member repositories: 将左边需要引用的仓库选择到右边 ,这样我们在引用jar包的时候就可以只引用一个仓库,这个仓库会包含所引用其他仓库的所以jar包。

<repositories>
        <repository>
            <id>maven-release</id>
            <url>http://139.196.149.18:8081/repository/acc-public/</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
        </repository>
    </repositories>

然后在引入改仓库中的jar包即可。

如何将jar包下所需的其他jar包同步到仓库中

这里我们要找到仓库类型为 proxy的仓库,将仓库下的镜像源改成国内的其他镜像,默认为 :https://repo1.maven.org/maven2/
我们改成阿里云的 https://maven.aliyun.com/repository/public

然后在项目的maven -> settings.xml 中写入:

    <mirrors>

<!--        <mirror>-->
<!--            <id>public</id>-->
<!--            <mirrorOf>*</mirrorOf>-->
<!--            <name>public</name>-->
<!--            <url>https://maven.aliyun.com/repository/public</url>-->
<!--        </mirror>-->
        <mirror>
            <id>XXXX-public</id>
            <mirrorOf>*</mirrorOf>
            <name>XXXX-public</name>
            <url>http://100.196.149.18:8081/repository/XXXX-public/</url>
        </mirror>
    </mirrors>

当我们通过该地址进行jar下载的时候 ,当前项目的所需的jar包就会同步到我们的仓库中

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业余码手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值