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

M1 Pro上Docker MySQL实例无法运行,Ubuntu环境正常

M1 Pro设备上Docker Compose启动MySQL实例失败的排查与解决

问题根源

M1 Pro为ARM64架构,你当前使用的mysql/mysql-server:8.0镜像默认适配x86_64,结合本地残留的x86环境MySQL数据、环境变量冲突或端口占用,导致启动异常。

解决步骤

  • 更换兼容ARM的MySQL镜像
    官方mysql:8.0镜像支持多架构,会自动适配ARM64,替换原镜像配置:

    mysql:
        image: 'mysql:8.0'
        # 其余配置保持不变
    

    若仍需使用mysql/mysql-server,可指定平台强制拉取兼容版本:

    mysql:
        image: 'mysql/mysql-server:8.0'
        platform: linux/arm64
        # 其余配置保持不变
    
  • 清理残留的不兼容数据
    Ubuntu上生成的x86架构MySQL数据无法在ARM环境中正常读取,会导致启动报错:

    1. 停止并清理容器及关联卷:docker compose down -v
    2. 删除本地挂载的旧数据目录:rm -rf ./docker/build/mysql8
    3. 重新启动服务:docker compose up
  • 修复环境变量冲突
    配置中同时设置MYSQL_ROOT_PASSWORD与MYSQL_ALLOW_EMPTY_PASSWORD: 1,二者冲突会导致权限配置混乱,需二选一:

    • 若需密码登录:删除MYSQL_ALLOW_EMPTY_PASSWORD: 1
    • 若允许空密码:删除MYSQL_ROOT_PASSWORD相关配置
  • 检查端口占用
    M1 Pro本地可能运行着MySQL服务占用3306端口,导致容器无法绑定:

    1. 检查端口占用:lsof -i :3306
    2. 停止本地MySQL服务(以brew安装为例):brew services stop mysql
    3. 或修改.env中的FORWARD_DB_PORT为3307等未占用端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:40:47