Linux安装Nexus3私有仓库教程
时间:2026-05-12 10:06:36 194浏览 收藏
本文详细介绍了在Linux系统中通过Docker快速、可靠地部署Nexus3私有仓库的五种实战方案——从开箱即用的官方镜像直启,到适合团队协作的Docker Compose编排;从满足企业定制需求(如预装插件、集成CA证书)的自定义镜像构建,到贴近传统运维习惯的systemd服务托管,再到严格受限的离线环境部署,覆盖了开发、测试、生产全场景。无论你是初学者寻求一键搭建,还是运维工程师追求高可用与标准化,都能从中找到即学即用、安全稳定、可复现的落地路径。

如果您希望在Linux系统中快速搭建Nexus3私有仓库,Docker部署是一种轻量、可复现且环境隔离的常用方式。以下是基于Docker安装Nexus3的多种可行方法:
一、使用官方Docker镜像直接运行
该方法利用Sonatype官方维护的nexus3镜像,无需编译构建,适合快速验证和生产环境初始化部署。容器默认将数据卷挂载至宿主机,确保重启后仓库数据不丢失。
1、拉取最新版Nexus3官方镜像:
docker pull sonatype/nexus3
2、创建宿主机持久化目录:
mkdir -p /opt/nexus-data && chown -R 200:200 /opt/nexus-data
3、运行容器并映射端口与数据卷:
docker run -d \
--name nexus3 \
-p 8081:8081 \
-v /opt/nexus-data:/nexus-data \
--restart=always \
sonatype/nexus3
4、查看容器运行状态:
docker ps | grep nexus3
二、通过Docker Compose编排部署
该方法适用于需统一管理多个服务或后续扩展(如反向代理、监控)的场景,配置集中、启动简洁,支持版本控制与团队协作。
1、创建docker-compose.yml文件:
vim /opt/nexus/docker-compose.yml
2、写入以下内容:
version: '3'
services:
nexus:
image: sonatype/nexus3
container_name: nexus3
restart: always
ports:
- "8081:8081"
volumes:
- "/opt/nexus-data:/nexus-data"
environment:
- INSTALL4J_ADD_VM_PARAMS=-Xms2g -Xmx2g
3、执行编排启动:
cd /opt/nexus && docker-compose up -d
4、检查服务日志确认初始化完成:
docker-compose logs -f nexus | grep "Started Sonatype Nexus"
三、自定义Dockerfile构建带插件的镜像
当需要预装特定插件(如npm、Docker、Helm等仓库类型支持)、修改JVM参数或集成企业CA证书时,可通过定制镜像实现标准化交付。
1、创建Dockerfile:
vim /opt/nexus-custom/Dockerfile
2、写入如下内容:
FROM sonatype/nexus3:3.69.0
COPY nexus.properties /opt/sonatype/nexus/etc/nexus.properties
COPY ca-bundle.crt /tmp/ca-bundle.crt
RUN keytool -import -trustcacerts -alias myca -file /tmp/ca-bundle.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt
3、构建镜像:
cd /opt/nexus-custom && docker build -t my-nexus3:3.69.0 .
4、运行定制镜像:
docker run -d --name nexus3-custom -p 8081:8081 -v /opt/nexus-data:/nexus-data my-nexus3:3.69.0
四、使用systemd托管Docker容器服务
该方法将Nexus3容器作为系统级服务管理,支持开机自启、日志轮转、资源限制及systemctl标准操作,更贴近传统Linux服务运维习惯。
1、创建systemd服务单元文件:
vim /etc/systemd/system/nexus3.service
2、填入以下配置:
[Unit]
Description=Nexus3 Repository Manager
After=docker.service
Wants=docker.service
[Service]
Type=oneshot
ExecStart=/usr/bin/docker start -a nexus3
ExecStop=/usr/bin/docker stop -t 30 nexus3
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
3、重载systemd配置并启用服务:
systemctl daemon-reload && systemctl enable nexus3 && systemctl start nexus3
4、验证服务状态:
systemctl status nexus3 | grep "active (running)"
五、离线环境下部署Nexus3容器
在无外网访问权限的生产环境中,需提前下载镜像与数据卷模板,避免部署阶段依赖网络。所有组件均通过内网介质导入。
1、在有网机器上导出镜像:
docker save sonatype/nexus3:3.69.0 > nexus3-3.69.0.tar
2、将tar包及预置的/nexus-data.tar.gz拷贝至目标服务器
3、加载镜像并解压数据目录:
docker load
4、手动修正数据目录权限:
chown -R 200:200 /opt/nexus-data && chmod -R 755 /opt/nexus-data
5、运行容器(禁用网络检查):
docker run -d \
--name nexus3-offline \
-p 8081:8081 \
-v /opt/nexus-data:/nexus-data \
--network none \
sonatype/nexus3:3.69.0
今天关于《Linux安装Nexus3私有仓库教程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
194 收藏
-
174 收藏
-
267 收藏
-
147 收藏
-
461 收藏
-
448 收藏
-
234 收藏
-
222 收藏
-
356 收藏
-
333 收藏
-
317 收藏
-
284 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习