You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Stack部署官方MySQL镜像服务启动后自动停止问题排查求助

故障根因分析

1. 内存资源配置不足

你在Stack部署中给MySQL服务设置的内存上限仅为90M,MySQL 8.0版本在数据库初始化阶段的内存占用会超过该阈值,触发Docker Swarm的OOM(内存溢出)kill机制,直接终止初始化进程,就是你日志中45 Killed记录的来源。
你使用docker-compose部署时没有设置如此严格的内存限制,所以可以正常运行。

2. 有状态服务副本配置错误

MySQL是典型的有状态数据库服务,你直接设置replicas: 3且所有副本挂载同一个共享存储卷alpine-db_backup,多个进程同时读写同一份MySQL数据文件,也会导致实例启动异常,严重时还会损坏数据。

修复方案
  • 调高MySQL服务的内存资源限制,建议至少设置为512M,生产环境建议预留1G以上内存:
resources:
  limits:
    cpus: '0.50'
    memory: 512M
  reservations:
    cpus: '0.25'
    memory: 256M
  • 如果你需要部署多实例MySQL集群,不要直接使用普通的replicas配置,应当搭配max_replicas_per_node: 1+独立存储卷绑定,或者采用Docker Swarm有状态部署方案,确保每个实例有独立的数据目录。
  • 测试阶段如果不需要多副本,可以直接把replicas改为1,先验证单实例可以正常启动。

内容的提问来源于stack exchange,提问作者user11766958

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:36:07