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

升级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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 18:05:18