Mac M1升级Docker后MariaDB镜像平台不匹配问题求助
解决Mac M1上Docker拉取amd64架构MariaDB镜像的问题
方法1:手动拉取指定平台的镜像
先拉取amd64版本的MariaDB镜像,执行命令:
docker pull --platform linux/amd64 mariadb
拉取完成后启动Docker Compose服务,会优先使用已下载的amd64镜像。
方法2:在docker-compose.yml中指定平台
在你的docker-compose.yml里,为MariaDB服务添加platform配置项,强制指定架构:
services: mariadb: image: mariadb platform: linux/amd64 # 其他原有配置(如ports、environment等)
保存后重启服务:
docker compose up -d
方法3:开启Docker Desktop的Rosetta模拟
打开Docker Desktop,进入Settings -> Features in development,勾选**"Use Rosetta for x86/amd64 emulation on Apple Silicon"**,点击"Apply & Restart"重启Docker。该设置能提升amd64镜像的模拟运行效果,减少平台兼容问题。
环境变量未生效的排查
之前设置的DOCKER_DEFAULT_PLATFORM等变量需确保生效:
- 终端临时设置的变量关闭终端后会失效,建议将其添加到shell配置文件(如
~/.zshrc或~/.bash_profile) - 添加后执行
source ~/.zshrc(对应你的shell)使配置生效,再重启Docker Desktop
内容的提问来源于stack exchange,提问作者AsTeR
相关产品推荐
相关产品推荐

