mongodb - `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
解决方案
当我使用不同版本启动 docker 时遇到了这个问题。使用删除卷
docker 卷 rm <volume_id>
然后重新启动。
推荐阅读
- mqtt - 如何处理 on_message 上收到的多个 MQTT MSG
- c++ - 的具体用例是什么!在 C++ 中
- c++ - Freetype2 - 字形不呈现/显示
- symfony4 - 找不到类扩展 SonataPagePage 列
- c - libuv 句柄在 close 之后但在 close_cb 之前是否处于活动状态?
- c++ - 在 C++ 项目中使用共享对象 (.so) 在 Windows 中使用 Visual Studio for Linux 使用 WSL 进行开发
- scala - 使用带有 akka 道具的 Guice - 找不到合适的演员构造函数
- javascript - 我想在画布 html 标记中显示多个页面预览
- python - NameError:名称“isdigit”未定义
- android - 包含对 AndroidX 和旧支持库的引用