Nexus3 Docker私有仓库实战:从零搭建到高效管理

1. 为什么你需要一个Docker私有仓库?

如果你在公司里搞过Docker,肯定遇到过这几个头疼的问题:镜像下载慢得像蜗牛,尤其是从Docker Hub拉官方镜像的时候;团队内部开发的镜像没地方统一存,大家你传你的、我传我的,版本乱成一锅粥;外网依赖严重,一旦网络抽风,整个CI/CD流程直接瘫痪。我当年就吃过这个亏,一个简单的docker pull等了一下午,项目进度全卡住了。

这时候,一个企业级的Docker私有仓库就成了刚需。它不仅能让你安全地存储自己的镜像,还能代理和缓存公共镜像,让团队所有人都从一个高速、稳定的源拉取镜像。而Nexus Repository Manager 3(简称Nexus3)就是实现这个目标的绝佳工具。

Nexus3不只是个Docker仓库,它是个全能的制品库管家。除了Docker,它还能管Maven、npm、PyPI、Yum等等,一个平台搞定所有依赖管理。对于Docker,它支持三种核心仓库类型:hosted(存放你自己的私有镜像)、proxy(代理Docker Hub等远程仓库并缓存)、group(把前两者组合起来,提供一个统一入口)。今天,我就带你从零开始,手把手搭建一套完整的Nexus3 Docker私有仓库体系,并分享一些我踩过坑之后总结的高效管理技巧。

2. 快速部署Nexus3服务

搭建Nexus3最快的方式就是用Docker跑起来,这也是官方推荐的做法。我们先准备好一台Linux服务器(CentOS 7/8或Ubuntu 20.04+),确保Docker和Docker Compose已经安装好。

我习惯把数据目录单独挂载出来,方便备份和迁移。先创建目录并赋权:

sudo mkdir -p /opt/nexus3/data
sudo chown -R 200:200 /opt/nexus3/data  # Nexus容器内用户uid为200

然后创建docker-compose.yml文件,内容如下:

version: '3'
services:
  nexus:
    image: sonatype/nexus3:3.73.0-12  # 建议指定一个稳定版本
    container_name: nexus3
    restart: unless-stopped
    ports:
      - "8081:8081"  # Web管理界面
      - "5000:5000"  # Docker group仓库端口(统一入口)
      - "5001:5001"  # Docker proxy仓库端口
      - "5002:5002"  # Docker hosted仓库端口
    volumes:
      - /opt/nexus3/data:/nexus-data
    environment:
      - INSTALL4J_ADD_VM_PARAMS=-Xms2g -Xmx2g -XX:MaxDirectMemorySize=4g
      - TZ=Asia/Shanghai

这里我预留了三个端口给Docker仓库,后面配置时会用到。内存参数根据你服务器情况调整,生产环境建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值