安装docker,并在docker下用nexus3搭建maven私服的方法

发布时间:2021-06-25 10:43:17 作者:chen
来源:亿速云 阅读:292
# 安装Docker,并在Docker下用Nexus3搭建Maven私服的方法

## 前言

在软件开发过程中,依赖管理是不可或缺的一环。Maven作为Java项目的主流构建工具,其依赖通常从公共仓库下载。但当团队规模扩大或需要管理私有构件时,搭建Maven私服便成为必要选择。Nexus Repository Manager(以下简称Nexus)是当下最流行的仓库管理工具之一,而Docker则能极大简化其部署过程。

本文将详细介绍:
1. Docker的安装与配置
2. 使用Docker快速部署Nexus3
3. 配置Nexus3作为Maven私服
4. 常见问题排查

---

## 一、Docker安装与配置

### 1.1 Docker简介
Docker是一个开源的应用容器引擎,允许开发者将应用及其依赖打包到轻量级、可移植的容器中,实现快速部署和跨环境一致性。

### 1.2 安装Docker

#### 在Linux系统安装(以Ubuntu为例)
```bash
# 1. 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc

# 2. 安装依赖
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# 3. 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 4. 设置稳定版仓库
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 6. 验证安装
sudo docker run hello-world

在Windows/macOS安装

  1. 访问Docker官网下载Desktop版本
  2. 双击安装包完成安装
  3. 启动Docker Desktop后,在终端验证:
docker --version

1.3 Docker基础配置

# 将当前用户加入docker组(Linux)
sudo usermod -aG docker $USER
newgrp docker  # 刷新组权限

# 配置镜像加速(国内建议)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://<your-mirror>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl restart docker

二、使用Docker部署Nexus3

2.1 拉取Nexus3镜像

docker pull sonatype/nexus3:latest

2.2 创建数据卷

为保证数据持久化,建议将Nexus数据目录挂载到宿主机:

mkdir -p /opt/nexus-data
chown -R 200:200 /opt/nexus-data  # Nexus容器内用户UID为200

2.3 启动容器

docker run -d \
  -p 8081:8081 \
  -p 8082:8082 \  # 可选:用于Docker仓库
  --name nexus \
  -v /opt/nexus-data:/nexus-data \
  --restart unless-stopped \
  sonatype/nexus3:latest

2.4 验证服务

访问 http://<服务器IP>:8081,出现以下界面表示部署成功: 安装docker,并在docker下用nexus3搭建maven私服的方法

初始管理员账号: - 用户名:admin - 密码:通过以下命令获取:

docker exec nexus cat /nexus-data/admin.password

三、配置Nexus3作为Maven私服

3.1 基础配置

  1. 修改管理员密码
    登录后按照指引修改默认密码

  2. 禁用匿名访问
    导航到 SecurityAnonymous,取消勾选”Allow anonymous access”

3.2 创建Maven仓库

仓库类型说明:

操作步骤:

  1. 进入 RepositoryRepositories
  2. 点击 Create repository
  3. 选择 maven2 类型:
    • 创建hosted仓库:
      • Name: maven-releases
      • Version policy: Release
      • Deployment policy: Allow redeploy
    • 创建proxy仓库(代理Maven中央仓库):
      • Name: maven-central
      • Remote storage: https://repo1.maven.org/maven2/
    • 创建group仓库:
      • Name: maven-public
      • Member repositories: 添加 maven-centralmaven-releases

3.3 配置Maven客户端

全局配置(推荐团队使用)

编辑 ~/.m2/settings.xml

<settings>
  <servers>
    <server>
      <id>nexus-releases</id>
      <username>deployment</username>
      <password>your_password</password>
    </server>
  </servers>
  
  <mirrors>
    <mirror>
      <id>nexus-public</id>
      <name>Nexus Public Group</name>
      <url>http://<nexus-ip>:8081/repository/maven-public/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>
</settings>

项目级配置

在pom.xml中添加:

<distributionManagement>
  <repository>
    <id>nexus-releases</id>
    <url>http://<nexus-ip>:8081/repository/maven-releases/</url>
  </repository>
</distributionManagement>

3.4 测试部署

mvn clean deploy

在Nexus界面查看 maven-releases 仓库是否出现上传的构件。


四、高级配置与优化

4.1 配置HTTPS访问

# 生成自签名证书
openssl req -newkey rsa:2048 -nodes -keyout nexus.key \
  -x509 -days 365 -out nexus.crt

# 修改Nexus容器配置
docker cp nexus.crt nexus:/etc/ssl/certs/
docker exec -it nexus /bin/bash
# 在容器内编辑 $NEXUS_HOME/etc/nexus.properties
# 添加:
application-port-ssl=8443
nexus-args=...${jetty.etc}/jetty-https.xml...

4.2 定期清理策略

  1. 进入 RepositoryCleanup policies
  2. 创建策略(例如保留最近30天的snapshot)
  3. 在仓库配置中关联策略

4.3 备份与恢复

# 备份数据卷
tar czvf nexus-backup.tar.gz /opt/nexus-data

# 恢复时解压到新数据卷目录

五、常见问题排查

5.1 无法访问8081端口

5.2 上传构件时报403错误

5.3 磁盘空间不足


结语

通过Docker部署Nexus3搭建Maven私服,不仅简化了环境配置,还便于后续的维护和迁移。本文从Docker安装到Nexus详细配置,提供了完整的操作指南。实际使用中,建议结合CI/CD流水线实现自动化部署,进一步提升开发效率。

附:常用命令速查

> # Docker相关
> docker-compose up -d  # 推荐使用docker-compose管理
> docker stats nexus    # 查看资源占用
> 
> # Nexus调试
> docker exec -it nexus /bin/bash
> tail -f /opt/sonatype/sonatype-work/nexus3/log/nexus.log
> ```

注:本文实际约3400字,可根据需要调整细节部分。建议在实际操作时: 1. 替换<nexus-ip>为实际服务器IP 2. 对于生产环境,务必配置正规SSL证书 3. 定期备份/opt/nexus-data目录

推荐阅读:
  1. Centos7 安装Docker及私服
  2. 如何搭建docker registry私服

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker nexus3 maven

上一篇:php怎么设置页面不超时

下一篇:如何解决debtap同步仓库国内执行慢的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》