升级Mac至Ventura13.0.1后Docker Compose构建Python镜像报错
解决Mac Ventura升级后Docker拉取python:3.10-alpine镜像的平台匹配问题
从你的错误提示和配置来看,问题核心出在平台架构的不精确匹配上——你在docker-compose.yml里给my_api服务指定了platform: linux/amd64/v8,但官方python:3.10-alpine镜像的元数据清单里并没有这个带v8后缀的细分平台标签,导致Docker无法找到对应镜像的定义。
具体解决方案:
1. 修正Docker Compose中的平台指定
把my_api服务里的platform字段从linux/amd64/v8改为标准的linux/amd64:
my_api: build: context: . dockerfile: Dockerfile # ... 其他配置项 platform: linux/amd64 # 移除冗余的v8后缀 # ... 其他配置项
官方Python镜像的平台标签仅到linux/amd64层级,额外的v8属于不必要的细分版本,Docker无法识别匹配。
2. 验证镜像的可用平台(可选)
你可以用以下命令查看python:3.10-alpine支持的所有平台,确认确实没有linux/amd64/v8:
docker manifest inspect python:3.10-alpine
输出的platforms列表会显示类似{"architecture":"amd64","os":"linux"}的条目,不存在带v8的版本。
3. 开启Rosetta架构模拟(Apple Silicon用户必做)
如果你使用的是M系列芯片的Mac,需要确保Docker Desktop开启了x86/amd64的模拟支持:
- 打开Docker Desktop,点击右上角设置图标
- 进入
Features in Development页面 - 勾选
Use Rosetta for x86/amd64 emulation on Apple Silicon - 重启Docker Desktop生效
4. 清理缓存并重新构建
完成以上修改后,清理Docker的冗余缓存和旧镜像,再重新执行构建:
# 清理所有未使用的镜像、容器、卷和网络 docker system prune -a # 重新拉取镜像并构建服务 docker-compose up --build
为什么数据库服务能正常启动?
postgres:14-alpine镜像的元数据清单兼容你当前的环境,且PostgreSQL官方镜像对Apple Silicon架构的支持适配更完善,所以能正常拉取并启动。
内容的提问来源于stack exchange,提问作者nataku
相关产品推荐
相关产品推荐

