首页 > 解决方案 > `mongo:latest` 更改后,如何修复 docker 容器中的 mongodb?

问题描述

构建 docker 容器时出现此错误:

upvotocracy-db | {"t":{"$date":"2021-07-14T06:51:26.012+00:00"},"s":"F",  "c":"CONTROL",  "id":20573,   "ctx":"initandlisten","msg":"Wrong mongod version","attr":{"error":"UPGRADE PROBLEM:
 Found an invalid featureCompatibilityVersion document (ERROR: Location4926900: Invalid featureCompatibilityVersion document in admin.system.version: { _id: \"featureCompatibilityVersion\", version: \"4.2\" }. See https://docs.mongodb.com/master/release-notes/4.4-compatibility/#feature-compatibility. :: caused by :: Invalid value for featureCompatibilityVersiondocument in a
dmin.system.version, found 4.2, expected '4.4' or '4.9' or '5.0. See https://docs.mongodb.com/master/release-notes/4.4-compatibility/#feature-compatibility.). If the current featureCompatibilityVersion is below 4.4, see the documentation on upgrading at https://docs.mongodb.com/master/release-notes/4.4/#upgrade-procedures."}} 

我能做些什么来解决?我认为mongo:latest只是改变了,它不支持我的旧数据库。

这是我的 docker-compose.yml 文件:

 22   mongo:
 23     env_file: .env
 24     container_name: ${DOCKER_CONTAINER_MONGO_NAME}
 25     restart: always
 26     image: mongo:latest
 27     env_file: .env
 28     volumes:
 29       - ./mongo_data:/data/db
 30     ports:
 31       - "127.0.0.1:${DOCKER_CONTAINER_MONGO_PORT}:27017"
 32     networks:
 33       - ${DOCKER_NETWORK_NAME}

这是我从 4.2 升级到 5.0 后遇到的另一个错误:

unsupported WiredTiger file version: this build only supports versions up to 4, and the file is version 5

标签: mongodbdockerdocker-compose

解决方案


当我使用不同版本启动 docker 时遇到了这个问题。使用删除卷

docker 卷 rm <volume_id>

然后重新启动。


推荐阅读