运维|devops|docker|docker私有仓库搭建(nexus)
📅 2026/8/1 3:55:59
👁️ 阅读次数
📝 编程学习
运维|devops|docker|docker私有仓库搭建(nexus)
📑 目录
1. 运维|devops|docker|docker私有仓库搭建(nexus)
1.1 主流仓库比较
1.2 如果Nexus基于docker部署
1.2.1 重装
1.3 Sonatype Nexus 开启docker
1.3.1 激活 Docker Bearer Token Realm
1.3.2 创建 Docker 专用的 Blob 存储
1.3.3 创建 Docker Hosted 仓库
1.3.4 验证是否开启
1.4 打通docker和仓库
1.4.1 增加如下配置
1.4.2 重启docker
1.4.3 验证配置是否生效
1.4.4 登录
1.5 推送测试镜像
1.6 拉取测试镜像
1.7 Nexus Web
基于Nexus 3.93 社区版(Community Edition)
主流仓库比较
| 方案 | 核心优势 | 局限性 | 适用场景 |
|---|---|---|---|
| Docker Registry | 部署极其简单,资源占用少 | 功能单一,无UI界面,无用户管理 | 个人学习、小型测试环境 |
| Harbor | 功能强大:支持RBAC权限、漏洞扫描、镜像复制、Web UI | 部署稍复杂,占用资源较多 | 中大型企业生产环境首选 |
| Sonatype Nexus | 一个工具管理所有构建产物(如 Maven, npm, Docker) | Docker 仓库功能相对基础 | 团队已使用 Nexus 管理其他依赖 |
如果Nexus基于docker部署
需要卸载重装,开发8881端口(密码和存储数据会丢失)
重装
bash
docker commit nexus my-nexus-with-data docker stop nexus docker rm nexus docker run -d \ --name nexus \ -p 8082:8081 \ -p 8881:8881 \ my-nexus-with-dataSonatype Nexus 开启docker
激活 Docker Bearer Token Realm
创建 Docker 专用的 Blob 存储
>docker-blob
创建 Docker Hosted 仓库
docker-hosted
验证是否开启
- docker 内部验证
bash
docker exec -it nexus sh wget -qO- http://localhost:8881/v2/- 其他服务器验证
bash
curl -v http://192.168.0.68:8881/v2/打通docker和仓库
sudo nano /etc/docker/daemon.json
增加如下配置
json
{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn" ], "insecure-registries": ["192.168.0.68:8881"] }重启docker
bash
sudo systemctl daemon-reload sudo systemctl restart docker验证配置是否生效
bash
docker info | grep -A 2 "Insecure Registries"登录
docker login 192.168.0.68:8881(使用nexus用户名和密码)
推送测试镜像
bash
# 拉取测试镜像 docker pull nginx:alpine # 打标签 docker tag nginx:alpine 192.168.0.68:8881/nginx:alpine # 推送 docker push 192.168.0.68:8881/nginx:alpine拉取测试镜像
bash
# 删除本地镜像 docker rmi 192.168.0.68:8881/nginx:alpine # 从私有仓库拉取 docker pull 192.168.0.68:8881/nginx:alpineNexus Web
编程学习
技术分享
实战经验