gpt4 book ai didi

mongodb - 由于缺少 featureCompatibilityVersion 文档,无法启动 mongod。 Docker 问题

转载 作者:可可西里 更新时间:2023-11-01 10:47:52 24 4
gpt4 key购买 nike

我有一个 dockerized 服务,它包含一个带有 API REST 的服务器和一个 mongoDB 存储系统。

首先我有这两个 docker hub 的图像:

  • mongo:3.6.0
  • 节点: Alpine

我正在尝试使用来 self 的服务器的快照创建备份。当我执行恢复并开始唤醒服务时,mongoDB 崩溃了。这是错误日志:

mongo_1  | 2018-01-09T18:50:17.770+0000 F STORAGE  
[initandlisten] Unable to start up mongod due to missing featureCompatibilityVersion document.

mongo_1 | 2018-01-09T18:50:17.774+0000 F STORAGE
[initandlisten] Please run with --repair to restore the document.

mongo_1 | 2018-01-09T18:50:17.774+0000 F -
[initandlisten] Fatal Assertion 40652 at src/mongo/db/db.cpp 660

mongo_1 | 2018-01-09T18:50:17.775+0000 F - [initandlisten]

这是我的 Dockerfile:

FROM node:alpine


RUN mkdir /CSCFUTSAL
WORKDIR /CSCFUTSAL


COPY package.json /CSCFUTSAL

RUN cd /CSCFUTSAL

RUN npm install

RUN npm install -g @angular/cli

COPY . /CSCFUTSAL

RUN ng build --prod

EXPOSE 80

还有我的 docker-compose.yml:

version: '2'
services:
mongo:
image: mongo:3.6.0
volumes:
- /data/mongodb/db:/data/db
ports:
- "27017:27017"

api:
build: .
command: node ./bin/www
volumes:
- api-img:/CSCFUTSAL/public/plantillas
ports:
- "80:80"
links:
- mongo

volumes:
api-img:
driver: local

我不知道如何在不丢失存储数据的情况下修复它。

最佳答案

当您在 Docker 中运行它时,您需要在容器中运行 mongod --repair 命令。确保您备份了要修复的数据,然后运行如下命令:

docker container run --rm -v /data/mongodb/db:/data/db mongo:3.6.0 mongod --repair

这是假设您的本地数据位于 /data/mongodb/db,这是您的 Docker compose 文件所建议的。

关于mongodb - 由于缺少 featureCompatibilityVersion 文档,无法启动 mongod。 Docker 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48174994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com