You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB 2.6.12版本Docker容器启动后快速退出问题排查求助

排查MongoDB 2.6.12容器启动后快速退出(状态码139)的问题

状态码139的核心含义

状态码139对应进程收到SIGSEGV信号(段错误),说明MongoDB启动时尝试访问非法内存地址,直接导致崩溃。

具体排查步骤

1. 切换交互模式启动,捕获实时输出

后台启动(-d)可能丢失启动时的错误日志,改用交互模式直接查看控制台输出:

docker run --name some-mongo -it mongo:2.6.12 mongod

如果仍无输出,跳过默认entrypoint,手动进入容器执行命令:

docker run --name some-mongo -it --entrypoint /bin/bash mongo:2.6.12

进入容器后手动启动mongod:

mongod

观察是否有明确的错误提示。

2. 验证CPU架构兼容性

MongoDB 2.6.12是老旧版本,官方镜像仅适配x86_64架构。若你的宿主机是ARM架构(如M系列Mac、树莓派),会因架构不兼容直接崩溃,且老版本镜像无ARM适配的错误输出。

检查宿主机架构:

uname -m

若输出为arm64/aarch64,可通过QEMU模拟x86架构解决:

# 安装QEMU静态编译工具
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
# 重新启动MongoDB容器
docker run --name some-mongo -d mongo:2.6.12

3. 调整内存与内核参数

老版本MongoDB对内存和内核参数有特定要求,尝试增加内存限制并调整内核参数:

docker run --name some-mongo -d --memory=2g --sysctl net.core.somaxconn=4096 mongo:2.6.12

另外,宿主机的transparent_hugepage设置可能干扰老版本MongoDB,临时关闭:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

4. 挂载本地目录规避权限问题

容器内MongoDB默认以mongodb用户运行,可能存在数据目录权限冲突。挂载本地目录并设置对应权限:

mkdir -p ./mongo-data
chown 999:999 ./mongo-data
docker run --name some-mongo -d -v $(pwd)/mongo-data:/data/db mongo:2.6.12

5. 检查Docker版本兼容性

过新的Docker版本可能与老旧镜像存在兼容性问题,可尝试降级到Docker 20.10.x等稳定旧版本后再测试。

内容的提问来源于stack exchange,提问作者PHP Avenger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 10:35:29