在Docker中搭建Nexus3的Maven私服

在现代软件开发过程中,使用依赖管理工具如Maven是非常常见的。为了更好地管理和共享这些依赖,我们可以使用Nexus Repository Manager作为Maven私服。本文将介绍如何通过Docker搭建Nexus3的Maven私服,并附带完整的代码示例。

什么是Nexus Repository Manager?

Nexus Repository Manager(简称Nexus)是一个由Sonatype开发的开源仓库管理器,支持多种格式的包存储,比如Maven、npm、Docker、RubyGems等。我们可以使用Nexus来存储和管理我们的私有库,使得团队能够高效地共享和使用这些库。

搭建流程概述

以下是搭建Nexus3 Maven私服的基本步骤:

flowchart TD;
    A[准备Docker环境] --> B[下载Nexus Docker镜像]
    B --> C[启动Nexus容器]
    C --> D[访问Nexus Web界面]
    D --> E[配置Maven私服]
    E --> F[使用Maven上传和下载依赖]

准备Docker环境

首先,请确保你的机器上已经安装了Docker。如果尚未安装,请参考[Docker官方文档](

下载Nexus Docker镜像

接下来,我们下载Nexus3的Docker镜像。可以使用以下命令:

docker pull sonatype/nexus3

这个命令会从Docker Hub上下载最新的Nexus3镜像。

启动Nexus容器

使用以下命令启动Nexus容器,并将其暴露在8081端口:

docker run -d -p 8081:8081 --name nexus --restart unless-stopped sonatype/nexus3
  • -d:以后台模式运行容器。
  • -p 8081:8081:将主机的8081端口映射到容器的8081端口。
  • --name nexus:给容器命名为nexus。
  • --restart unless-stopped:容器将在失败时自动重启,除非手动停止。

访问Nexus Web界面

启动容器后,您可以在浏览器中访问http://localhost:8081,打开Nexus的Web界面。初次访问时,您会看到一个登录页面,使用默认的管理员账户进行登录。

默认管理员账户

  • 用户名:admin
  • 密码:查看Nexus容器的日志获取:
docker logs nexus

您会在启动日志中找到类似于以下内容的输出,包含默认密码的信息:

Sonatype Nexus Repository Manager is running.
Password for admin user is: <password>

配置Maven私服

登录后,您可以配置Maven私服。以下是简单的配置步骤:

  1. 点击左侧的“Repositories”菜单。
  2. 点击右上角的“Create repository”。
  3. 选择“maven2 (hosted)”以创建一个私有Maven库。
  4. 填写库的信息,例如名称、版本策略等,点击“Save”保存。

添加Maven的配置

接下来,您需要在Maven的settings.xml文件中添加Nexus的仓库配置。通常,settings.xml文件位于~/.m2目录下。

<settings xmlns="
          xmlns:xsi="
          xsi:schemaLocation="
          
    <servers>
        <server>
            <id>nexus-repo</id>
            <username>admin</username>
            <password>your_nexus_password</password>
        </server>
    </servers>
    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>nexus-repo</id>
                    <url>http://localhost:8081/repository/[your-repo-name]/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>

确保将your_nexus_password替换为在Nexus日志中找到的实际密码,并将[your-repo-name]替换为您创建的私有库名称。

使用Maven上传和下载依赖

现在,您已经成功搭建了一个Nexus Maven私服!您可以使用下面的命令来上传和下载依赖。

上传依赖

在您的Maven项目中,添加以下部分到pom.xml文件,以便上传到Nexus:

<distributionManagement>
    <repository>
        <id>nexus-repo</id>
        <url>http://localhost:8081/repository/[your-repo-name]/</url>
    </repository>
</distributionManagement>

然后使用如下命令上传:

mvn deploy

下载依赖

在您的Maven项目中,您可以像往常一样使用mvn install下载依赖。

总结

通过以上步骤,您已经成功在Docker中搭建了Nexus3的Maven私服。现在,您可以更加高效地管理和共享您的依赖,提升团队的开发效率。Nexus不仅支持Maven,还可以管理Docker、npm等多种格式的库,适应现今多样化的开发需求。

如果您希望更深入了解Nexus以及其他高级功能,建议参考[Nexus官方文档](

journey
    title 使用Nexus3构建Maven私服的旅程
    section 开始
      准备Docker环境: 5: 患者
      下载Nexus Docker镜像: 4: 努力
    section 搭建
      启动Nexus容器: 4: 成功
      访问Nexus Web界面: 5: 满意
    section 配置
      创建私库: 4: 成功
      配置Maven: 5: 满意
    section 使用
      上传依赖: 4: 成功
      下载依赖: 5: 满意

希望以上内容对您构建私服有所帮助!