Docker Compose部署Mongo:6容器失败:CPU无AVX支持致反复重启
部署MongoDB 6容器因CPU不支持AVX报错退出的解决办法
问题现象
使用Docker Compose部署mongo:6容器时,容器启动后立即弹出警告并退出,且持续处于重启状态,无法正常运行。
环境版本信息
- Docker版本:23.0.4, build f480fb1
- Docker Compose版本:v2.17.2
使用的docker-compose.yml配置
version: '3.8' services: mongo-db: container_name: mongo-db image: mongo:6 volumes: - ../psvolumes/mongo6:/data/db environment: - COMPOSE_PROJECT_NAME=mongo - MONGO_INITDB_ROOT_USERNAME= - MONGO_INITDB_ROOT_PASSWORD= ports: - 27017:27017 networks: - mongo_network restart: unless-stopped networks: mongo_network: driver: bridge
执行命令
docker compose up
容器启动输出
[+] Running 2/1 ✔ Network ams-api_mongo_network Created 0.1s ✔ Container mongo-db Created 0.0s Attaching to mongo-db mongo-db | mongo-db | WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that! mongo-db | mongo-db exited with code 0
问题原因
MongoDB 5.0及后续版本(包括6.x)强制要求CPU支持AVX指令集,当前系统的CPU不满足该硬件要求,导致容器启动失败。
解决办法
1. 降级MongoDB版本到4.4及以下
修改docker-compose.yml中的镜像版本为mongo:4.4,该版本无需AVX指令集支持:
image: mongo:4.4
修改完成后,重新执行docker compose up -d即可正常启动容器。
2. 升级服务器CPU(物理机场景)
若使用物理服务器部署,可更换支持AVX指令集的CPU,之后再部署MongoDB 6.x版本。
3. 使用非官方非AVX镜像(谨慎选择)
部分社区用户提供了不依赖AVX的MongoDB 5.x/6.x镜像,但这类镜像并非官方维护,存在安全漏洞和兼容性隐患,仅在紧急场景下考虑使用。
内容的提问来源于stack exchange,提问作者Manoj Pandey
相关产品推荐
相关产品推荐

