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

Linux环境下MongoDB 6.0 Docker容器启动失败(退出码51)求助

解决MongoDB 6.0 Docker容器启动失败(exit code 51)的问题

可行启动命令(保留所有环境变量)

直接使用以下命令启动,可解决fork子进程失败的问题:

docker run -e MONGO_INITDB_ROOT_USERNAME=user -e MONGO_INITDB_ROOT_PASSWORD=password -e MONGO_INITDB_DATABASE=my_data --name mongo -p27017:27017 --network bridge -d mongo:6.0 --bind_ip_all

关键调整说明

  • 添加--bind_ip_all:MongoDB 6.0默认仅绑定127.0.0.1,容器内初始化子进程时无法正常建立连接,该参数允许MongoDB监听所有IP,解决启动时的连接失败问题。
  • 替换-ti为-d:-ti会分配伪终端,干扰MongoDB后台fork进程的日志输出与初始化流程,-d以守护进程模式启动更适合服务类容器。
  • 显式指定--network bridge:使用Docker默认桥接网络,避免隐式网络配置异常,确保容器内部通信正常。

额外排查步骤

若上述命令仍失败,可按以下步骤排查:

  1. 清理旧容器与残留数据:
    docker stop mongo && docker rm mongo
    docker volume prune  # 清理未使用的数据卷,谨慎操作
    
  2. 查看初始化日志:启动容器后(即使失败),进入容器查看详细错误日志:
    docker exec -it mongo cat /data/db/docker-initdb.log
    
    日志会明确提示失败原因(如权限不足、配置冲突等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:42:45