Docker MongoDB Debug 備忘(01) mongodb-27017.sock權限導致容器無法啟動

本文分享了一次解决MongoDB容器重启失败的经验,错误源于/tmp/mongodb-27017.sock文件权限问题,通过在宿主机挂载空目录至容器/tmp的方法,成功解决了容器无法覆盖旧sock文件的问题,确保了容器的正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下圖為錯誤日誌
發生過程,首次部署後使用是正常的,關閉容器後,重新啟動就出現下列錯誤,原因是由於容器內的/tmp/mongodb-27017.sock檔案修改權限問題,可以看到該檔案的權限使用者為mongodb,該錯誤會導致容器無法正常啟動,(當時忘記備份數據庫,差點就沒了)解決該問題耗時三天,試過docker command 多個方案都無法解決該問題,例如使用docker commit $containerID 會根據容器目標而建立新的image,使用該鏡像建立新容器後呢,鏡像裏面是不會包含舊的mongoDB容器裏面的數據,所以該方法不行
在这里插入图片描述
在这里插入图片描述

解決方案:
在縮主機隨意一個位置建立一個空資料夾,掛載到/tmp,然後啟動容器,容器啟動成功
因為啟動時,需要覆蓋tmp裏的sock,就是因為限權問題,無法覆蓋,導致無法正常啟動,所以用這個方法可以令tmp變成空資料,從而系統啟動時重新建立新檔案,運行成功。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值