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

MacBook(Apple M1 Pro)运行docker-compose up命令报错求助

问题描述

在IntelliJ中执行命令 docker-compose up --scale service-promotions=0 启动项目时,遇到以下错误:

=> ERROR [internal] load metadata for docker.io/library/gradle:6.5.1-jdk11 2.7s

[internal] load metadata for docker.io/library/gradle:6.5.1-jdk11:


failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: no match for platform in manifest sha256:449a6385fa079f420cd7cd4ce34601740e046dfdcaaaf272d6cc5313104859df: not found

本地Java版本为 11.0.13 2021-10-19 LTS,此前未接触过Docker,已检查docker-compose.yml配置为dockerfile: Dockerfile,尝试过执行DOCKER_BUILDKIT=0命令,问题仍未解决。

解决方案

这个错误是因为gradle:6.5.1-jdk11镜像不匹配当前系统的架构(比如ARM架构的Mac/Windows,而该镜像仅提供x86架构版本),可按以下方式解决:

  • 指定镜像架构:明确指定镜像适配的平台,解决架构不兼容问题

    1. 若使用Dockerfile,在基础镜像行添加平台声明:
      FROM --platform=linux/amd64 gradle:6.5.1-jdk11
      
    2. 若使用docker-compose.yml,在对应服务的build配置中添加platform字段:
      services:
        # 替换为你的服务名称
        target-service:
          build:
            context: .
            dockerfile: Dockerfile
            platform: linux/amd64
      
  • 更换兼容镜像:如果指定架构无效,可尝试使用支持当前系统架构的Gradle镜像,比如带-alpine后缀的轻量镜像,或升级Gradle到7.x及以上版本(这类版本通常提供多架构支持)。

  • 检查Docker配置:打开Docker Desktop设置,确认开启了多架构镜像兼容选项(比如"Use the new Virtualization framework"相关设置)。

内容的提问来源于stack exchange,提问作者Sheetal Jain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:20:38