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仓库,后面配置时会用到。内存参数根据你服务器情况调整,生产环境建

72万+

被折叠的 条评论
为什么被折叠?



