docker 部署 Nexus3 修改启动内存

nexus3 安装教程很多,docker 部署更简单,就不赘述了。主要记录下修改内存限制方式。

nexus3 默认启动是 2703M 内存, 如果内存不够, 会启动失败。

ubuntu@10-9-17-59:~/Develop/Nexus/nexus-3.15.2-01/bin$ ./nexus status
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f046d000000, 2555904, 1) failed; error='Cannot allocate memory' (errno=12)

这时我们需要修改一下内存配置,

如果是直接部署的 nexus, 需要修改 $install-dir/bin/nexus.vmoptions 文件 ,添加参数

-Xms128m
-Xmx512m
-XX:MaxDirectMemorySize=512m

如果是 docker 部署,修改配置是没用的,需要设置环境变量

docker run -d -e "INSTALL4J_ADD_VM_PARAMS=-Xms128m -Xmx512m -XX:MaxDirectMemorySize=512m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"  --name nexus3 -p 8081:8081 -v /usr/local/nexus-data:/nexus-data -v /etc/timezone:/etc/timezone:ro sonatype/nexus3

### 使用Docker部署Nexus私服教程 #### 一、准备工作 为了顺利使用Docker部署Nexus私服,需确认已安装好Docker环境。确保主机具备足够的资源分配给即将运行的Nexus容器。 #### 二、启动Nexus服务 执行如下命令来创建并启动名为`nexus3`的服务实例,此操作会下载官方镜像sonatype/nexus3,并映射端口8081至本地以便访问Web UI;同时指定内存上限为1GB,持久化存储路径设置为宿主机上的/usr/local/docker/nexus-data文件夹内[^2]。 ```bash docker run -d --name nexus3 \ -p 8081:8081 \ -v /usr/local/docker/nexus-data:/nexus-data \ -m 1024m sonatype/nexus3 ``` 对于希望采用更灵活配置方案的情况,可以考虑利用docker-compose.yml定义多服务应用的方式来进行部署。下面是一个适用于大多数场景下的yaml模板示例[^3]: ```yaml version: '3.6' services: nexus: image: sonatype/nexus3:3.68.1-java11 container_name: nexus volumes: - ./data:/nexus-data ports: - "8081:8081" restart: unless-stopped platform: linux/amd64 # 对于ARM架构设备如苹果M1系列机器而言非常重要的一项设定 environment: - TZ=Asia/Shanghai ``` 保存上述内容到任意位置的一个新文件中(比如命名为docker-compose-nexus.yml),之后在同一目录下打开终端窗口输入`docker compose -f docker-compose-nexus.yml up -d`即可完成整个过程自动化处理。 #### 三、初始化与管理 初次连接时,默认用户名密码均为admin/admin123,在浏览器地址栏键入http://localhost:8081/进入图形界面后建议立即修改默认凭证信息以保障安全性。另外值得注意的是,如果遇到无法正常加载页面的问题,则可能是防火墙阻止了外部请求或者是网络代理干扰所致,请适当调整相应策略后再试一次。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值