MongoDB Docker容器启动后立即退出无法执行exec命令问题求助
MongoDB Docker容器启动后Exit(14)异常退出解决方案
根本原因
Exit Code 14为MongoDB专属退出码,核心原因是容器内MongoDB进程对数据存储目录/data/db没有读写权限,进程启动失败导致容器直接退出。你最初执行的docker run mongo:4.4-focal未添加后台运行参数,也没有做权限适配,容器启动完成后主进程执行失败就会自动终止。
修复步骤
前置操作:清理异常旧容器
先删除已经退出的问题容器,避免ID冲突:docker rm <你的异常容器ID>
方案1:临时测试用无持久化运行
如果不需要持久化存储MongoDB数据,直接执行带后台运行参数的启动命令即可:docker run -d --name mongo-temp -p 27017:27017 mongo:4.4-focal
方案2:长期使用带持久化运行
如果需要保留容器删除后的数据,执行以下步骤:
- 创建本地数据存储目录:
mkdir -p ~/mongo/data - 配置目录权限适配容器内MongoDB用户(默认UID为999):
sudo chown 999:999 ~/mongo/data - 启动挂载本地目录的容器:
docker run -d --name mongo-persist -v ~/mongo/data:/data/db -p 27017:27017 mongo:4.4-focal
验证方法
启动完成后执行docker ps,若容器STATUS列显示为Up X seconds/minutes即代表运行正常,此时再执行docker exec -it <容器名称/ID> bash即可正常进入容器终端。
内容的提问来源于stack exchange,提问作者Detlef
相关产品推荐
相关产品推荐

