基于Docker搭建Maven私服仓库(Linux)详细教程

文章目录

  • [1. 下载镜像并启动容器](#1. 下载镜像并启动容器)
  • [2. 配置Nexus](#2. 配置Nexus)
  • [3. 配置本地Maven仓库](#3. 配置本地Maven仓库)

1. 下载镜像并启动容器

  • 下载Nexus3镜像

    docker pull sonatype/nexus3

  • 查看Nexus3镜像是否下载成功

    docker images

  • 创建Nexus3的挂载文件夹

    mkdir /usr/local/nexus-data && chown -R 200 /usr/local/nexus-data

  • 启动Nexus3容器

    docker run -d -p 8081:8081 --name nexus -v /usr/local/nexus-data:/nexus-data --restart=always sonatype/nexus3

  • 查看Nexus3容器启动状态

    docker ps

2. 配置Nexus

  • 打开浏览器,访问docker服务器的8081端口
  • 登录Nexus管理员账号,点击页面右上方的登录按钮,提示我们的初始密码保存的位置,到服务器打开该文件,查看密码,然后输入账号密码,登录;
  • 登录后如下图:
  • 进入下一步,设置密码;然后如下图:
  • 配置阿里云代理仓库,由于默认的maven中央仓库访问很慢,因此我们要自己新建一个仓库,并将其代理地址设置为阿里云的地址;
  • 点击创建仓库按钮后,选择仓库类型,我们选择maven2(proxy);
  • 然后配置仓库参数,主要设置其名字和代理URL: Name: aliyun-central; Remote storage: http://maven.aliyun.com/nexus/content/groups/public;

  • 配置仓库组;接下来,需要将aliyun-central配置到仓库组,并且将aliyun-central排在maven-central上面。具体步骤如下所示:
    • 在Repositories列表中,点击maven-public:
    • 进入配置后,在最下方将aliyun-central添加到右侧,然后将其移动到最上方的位置后保存;
  • 创建用户;在Security菜单中,点击User菜单,点击添加用户按钮:
  • 添加完成后保存即可;

3. 配置本地Maven仓库

  • 复制setting.xml文件为setting-nexus.xml文件;
  • 配置servers节点: 在settings-binghe.xml文件中,找到servers节点,在servers节点中,配置创建的用户;

    复制代码
      <server>
        <id>nexus</id>
        <username>username</username>
        <password>password/</password>
      </server>
  • 配置本地仓库镜像:

    复制代码
        <mirror>
          <id>central</id>
          <name>Local Repository</name>
          <url>http://192.168.13.196:8081/repository/maven-public</url>
          <mirrorOf>*</mirrorOf>
        </mirror>
  • 配置profiles节点;

    复制代码
          <repositories>
              <repository>
                  <id>nexus-public</id>
                  <url>http://192.168.13.196:8081/repository/maven-public/</url>
                  <releases>
                      <enabled>true</enabled>
                      <updatePolicy>always</updatePolicy>
                  </releases>
                  <snapshots>
                      <enabled>true</enabled>
                      <updatePolicy>always</updatePolicy>
                  </snapshots>
              </repository>
          </repositories>

完成搭建。

相关推荐
Zenova EdgeOS8 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军9 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen9 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
忆挽篱笙歌10 小时前
进程控制管理
linux·运维·服务器
Escalating_xu11 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n12 小时前
英语“论文”语法检查工具
linux·windows
苏宸啊12 小时前
Reactor反应堆模式
linux
骇客野人13 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
_菜鸟果果13 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript
GeW13 小时前
飞行汽车交付阿联酋,真正先“起飞”的是低空数据基座——红帽Linux与数据库高可用为什么成了低空运营的隐形跑道
linux