Magento执行ece-docker build:compose报services.mysql.version未定义错误
错误原因
执行./vendor/bin/ece-docker build:compose时抛出Service version for "services.mysql.version" is not defined报错,核心原因是magento/magento-cloud-docker构建Docker配置时,需要读取项目内.magento/services.yaml中定义的各服务版本参数;全新通过composer创建的Magento社区版项目默认不预置云/Docker部署所需的这类配置文件,工具读取不到MySQL版本字段就会直接触发报错,和依赖安装错误无关。
解决步骤
按顺序操作即可修复:
- 在项目根目录创建Magento云配置专用目录,执行命令:
mkdir -p .magento - 在
.magento目录下新建services.yaml文件,写入和当前Magento版本匹配的数据库配置:版本兼容提示:Magento 2.4.6及以上版本适配MySQL 8.0,2.4.3~2.4.5版本适配MariaDB 10.4,不要填写不兼容的版本号,避免后续容器启动时出现数据库兼容故障
以MySQL 8.0为例,配置内容如下:mysql: type: mysql:8.0 disk: 2048 - (可选,规避后续其他配置类报错)在项目根目录新建
.magento.env.yaml文件,写入基础环境配置:stage: global: SCD_ON_DEMAND: 1 deploy: MYSQL_USE_SSL: false - 配置文件创建完成后,重新执行构建命令即可正常生成Docker Compose配置:
./vendor/bin/ece-docker build:compose
内容的提问来源于stack exchange,提问作者Handersen Adriano
相关产品推荐
相关产品推荐

