使用 Docker Compose 部署 Nexus 仓库及使用

简介: 本地jar,今天了公司的maven 私仓有问题,和同事讨论了下。正好向大家介绍如何使用 Docker Compose 部署 Nexus 仓库,以帮助您更好地管理和发布您的软件包和依赖项。Nexus 是一个功能强大的仓库管理器,它能够帮助我们管理各种构建工具和项目的组件,并提供了丰富的功能来支持软件开发过程。

nexus.jpg

大家好!之前有一期文章我们写的是springboot 如何导入本地jar,今天了公司的maven 私仓有问题,和同事讨论了下。正好向大家介绍如何使用 Docker Compose 部署 Nexus 仓库,以帮助您更好地管理和发布您的软件包和依赖项。Nexus 是一个功能强大的仓库管理器,它能够帮助我们管理各种构建工具和项目的组件,并提供了丰富的功能来支持软件开发过程。

步骤一:安装 Docker 和 Docker Compose

首先,确保您的系统已安装 Docker 和 Docker Compose。如果您尚未安装,请参考 Docker 官方文档

步骤二:创建 Docker Compose 文件

在您选择的目录下创建一个新文件,并将其命名为 docker-compose.yml。在该文件中,我们将定义 Nexus 服务的配置。

docker-compose.yml

version: "3.3"
services:
  nexus:
    image: sonatype/nexus3
    container_name: nexus3
    restart: always
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 8081:8081
    volumes:
      - ./data:/nexus-data

在上述配置中,我们使用了 Nexus 官方提供的 Docker 镜像 sonatype/nexus3,并将其命名为 nexus3。我们将容器内部的 8081 端口映射到宿主机的 8081 端口上,以便我们能够通过浏览器访问 Nexus 仓库。同时,我们还挂载了一个本地目录 ./data 到容器的 /nexus-data 目录,以保持 Nexus 的数据持久化。

步骤三:启动 Nexus 服务

保存并关闭 docker-compose.yml 文件后,执行以下命令启动 Nexus 服务:

docker-compose up -d

查看启动日志

docker-compose up -d

如果启动报如下错,则是挂载目录文件夹权限问题,

_20230717202214.png

修改挂载文件夹权限即可

sudo chmod -R 777 data

修改完停止容器,在启动即可

docker-compose down

在启动即可

docker-compose up -d

步骤四:访问 Nexus 仓库

访问地址: http://192.168.10.106:8081/

_20230717202813.png

点击 sign in 登录,使用管理员admin,密码在挂载目录下的admin.password,第一次登录需要修改密码

默认admin密码

_20230717203122.png

使用admin登录

_20230717203208.png

修改管理员密码
_20230717203325.png

成功登录后,您可以开始配置 Nexus 仓库以满足您的需求,例如创建仓库、添加代理和主机等。您还可以设置访问控制、仓库策略和安全性设置,以确保您的仓库的安全性和可靠性

步骤五:使用 Nexus 仓库

  • 依赖上传

_20230717205135.png

查看依赖

_20230717205806.png

  • maven私仓配置

在 servers 标签中加入

    <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>xj2020</password>
    </server>
    <server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>xj2020</password>
    </server>

repositories标签中加入

      <!-- 配置nexus远程仓库 -->
      <repository>
          <id>nexus</id>
          <name>Nexus Snapshot Repository</name>
          <url>http://192.168.10.106:8081/repository/maven-releases/</url>
          <releases>
              <enabled>true</enabled>
          </releases>
          <snapshots>
              <enabled>true</enabled>
          </snapshots>
      </repository>

springboot pom 中配置

    <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Releases</name>
            <url>http://192.168.10.106:8081/repository/maven-releases</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id><!-- id 需要对应 settings 中的配置 id -->
            <name>Nexus Snapshot</name>
            <url>http://192.168.10.106:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

打包上传

  • 使用 idea

    忽略 test,clear --> package --> deploy

  • 使用 maven 命令:

    mvn clear --> mvn package -Dmaven.test.skip=true --> mvn deploy

结论

使用 Docker Compose 部署 Nexus 仓库可以让您更轻松地搭建和管理仓库,提高开发团队的效率和项目的可维护性。通过上述步骤,您可以快速开始使用 Nexus 仓库,并享受其强大的功能。

希望本文能对您有所帮助!如有任何问题,请随时在下方留言,我将尽力解答。谢谢阅读!

目录
相关文章
|
3天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署Tasks.md任务管理白板
【6月更文挑战第1天】使用Docker部署Tasks.md任务管理白板
23 4
|
2天前
|
容器 Docker 项目管理
【Docker项目实战】使用Docker部署tududi个人任务管理工具
【6月更文挑战第2天】使用Docker部署tududi个人任务管理工具
20 4
|
3天前
|
JavaScript 应用服务中间件 nginx
Docker 部署 Vue
在 Docker 中使用 Node 和 Nginx 基础镜像来部署一个 Vue 项目,通常可以按照以下步骤进行。这些步骤涵盖了从构建 Vue 项目到配置 Dockerfile 和 Nginx 的过程。
16 1
|
4天前
|
存储 网络安全 数据安全/隐私保护
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
|
5天前
|
存储 前端开发 调度
Docker部署应用实践
Docker部署应用实践
|
5天前
|
Java 大数据 流计算
使用Docker快速部署Flink分布式集群
使用Docker快速部署Flink分布式集群
24 0
|
6天前
|
jenkins 持续交付 开发工具
蓝易云 - 基于Jenkins自动打包并部署docker环境
以上就是基于Jenkins自动打包并部署docker环境的基本步骤。在实际操作中,你可能需要根据你的具体需求进行一些调整。
100 0
|
8天前
|
存储 网络协议 文件存储
如何使用Docker本地部署Traefik并实现公网访问内网服务
如何使用Docker本地部署Traefik并实现公网访问内网服务
|
11天前
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
43 4
|
11天前
|
测试技术 数据安全/隐私保护 Docker
Docker部署开源项目Django-CMS企业内容管理系统
【5月更文挑战第20天】Docker部署开源项目Django-CMS企业内容管理系统
19 1