文章目录
- 一、核心适配思路(无 NFS 场景)
- 二、无 NFS 的生产级 Docker Swarm 配置
- 1. 前置准备
- (1)初始化 Swarm(若未初始化)
- (2)创建 MySQL 密码密钥(避免明文)
- (3)给目标节点打标签(固定 MySQL 调度节点)
- 2. 生产级 Compose 配置(mysql-swarm-prod-no-nfs.yml)
- 3. 生产级 MySQL 性能配置文件(my.cnf)
- 4. 强化版本地备份脚本(关键!抵消无 NFS 的单点风险)
- 备份脚本配置说明:
- 三、部署与验证
- 1. 部署 MySQL 服务
- 2. 验证核心配置
- 四、无 NFS 场景的关键注意事项
- 总结
不依赖 NFS 共享存储、仍满足生产环境核心要求的 Docker Swarm 部署 MySQL 8 的配置方案。核心调整是放弃跨节点共享存储,改用节点本地卷,并通过 Swarm 调度约束确保 MySQL 容器始终固定在同一个节点上(避免跨节点调度导致数据丢失),同时保留生产环境必需的安全、性能、备份等核心特性。
一、核心适配思路(无 NFS 场景)
不使用 NFS 时,数据仅存储在单个节点的本地磁盘,因此必须:
- 用
placement约束将 MySQL 容器永久固定到指定节点,禁止 Swarm 调度到其他节点; - 强化本地数据备份策略(定期将备份文件同步到其他节点/云存储),抵消本地存储的单点风险;
- 保留所有生产级配置(密钥、性能调优、安全加固、健康检查等)。
二、无 NFS 的生产级 Docker Swarm 配置
1. 前置准备
(1)初始化 Swarm(若未初始化)
dockerswarm init