11. Nexus3.x的私有仓库
2025-02-17
简介
Nexus 是一个强大的仓库管理器,可以用来管理多种类型的仓库,包括:
- Docker 镜像仓库
- Maven 包仓库
- npm 包仓库
- PyPI 包仓库
- Yum/APT 软件源
相比官方的 Docker Registry,Nexus 具有以下优势:
- 支持自动垃圾回收
- 提供友好的 Web 界面
- 支持多种认证方式
- 可以管理多种类型的仓库
1. 安装部署
1.1 环境要求
- Docker 版本 >= 17.06
- 至少 4GB 内存
- 至少 20GB 磁盘空间
1.2 启动容器
# 创建数据卷
docker volume create nexus-data
# 启动 Nexus 容器
docker run -d --name nexus3 --restart=always -p 8081:8081 \
--mount src=nexus-data,target=/nexus-data \
sonatype/nexus3说明:
- 端口 8081 用于 Web 界面访问
- 数据持久化存储在 nexus-data 卷中
2. 初始配置
2.1 访问管理界面
打开浏览器访问:http://<your-ip>:8081
默认凭据:
- 用户名:
admin - 密码:
admin123
2.2 创建 Docker 仓库
- 登录后点击设置图标
- 选择 Repositories -> Create repository
- 选择 docker (hosted) 类型
- 配置仓库信息:
Name: docker-hosted
HTTP: 8082 # Docker 仓库端口
Enable Docker V1 API: 取消勾选3. 配置 Docker 客户端
3.1 配置 Docker 信任
# 编辑 daemon.json
vim /etc/docker/daemon.json
{
"insecure-registries": [
"your-nexus-ip:8082"
]
}
# 重启 Docker
systemctl restart docker3.2 推送镜像示例
# 登录到 Nexus Docker 仓库
docker login your-nexus-ip:8082
# 标记镜像
docker tag nginx:latest your-nexus-ip:8082/nginx:latest
# 推送镜像
docker push your-nexus-ip:8082/nginx:latest4. 维护管理
4.1 备份
# 备份数据目录
tar -zcvf nexus-data.tar.gz /var/lib/docker/volumes/nexus-data4.2 清理
- 通过 Web 界面定期清理未使用的组件
- 配置自动清理策略
- 监控存储空间使用情况
5. 最佳实践
- 使用 HTTPS 加密传输
- 配置访问控制和权限管理
- 定期备份数据
- 监控系统资源使用情况
- 配置邮件通知
注意: 生产环境建议使用 HTTPS,并配置适当的访问控制