docker里的mongo error: WT_ERROR: non-specific WiredTiger error“}解决方法

背景

电脑强制重启后,docker里的mongo不能正常使用,索引不能位置被破坏,错误log是这样的: error: WT_ERROR: non-specific WiredTiger error"}

解决方法

  1. 简历另外一个容器,volume挂载和上一个容器一样的位置:
docker run -it -d --name="mongofix" \
    -p 27017:27017 \
    -p 27018:27018 \
    -p 27019:27019 \
    -e TIMEZONE="Australia/Brisbane" \
    -e TZ="Australia/Brisbane" \
    -v {本地挂载目录}/configdb:/data/configdb \
    -v {本地挂载目录}/db:/data/db \
    mongo:latest /bin/bash
  1. 删除几个lock文件

    $ rm -r journal
    $ rm -r mongod.lock
    $ rm -r WiredTiger.lock
    
  2. 进入mongofix容器

docker exec -it mongo /bin/sh
# mongod --repair

总结

这也提供了一条思路,如果因为挂载文件损坏,容器不能正常启动,所以不能进入容器运行修复命令,可以先创建其它容器,进入容器后进行修复。然后restart老的容器。

引用

原文:https://wenpktalk.github.io/all-archives/

https://gist.github.com/mtrunkat/203c33347cc96db51a754a45bb902669?permalink_comment_id=2693735

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值