Thanks to visit codestin.com
Credit goes to github.com

Skip to content

build docker image error: but does not match the specified platform: wanted linux/amd64, actual: linux/arm64/v8 #2172

Closed
@languyue

Description

@languyue

i user version 3.3.2 to build image ,my mac is arm64, but i want amd64 image. so when i build imamge i use func withPlatform("linux/amd64") to build x86 docker image.

      <dependency>
        <groupId>com.github.docker-java</groupId>
        <artifactId>docker-java</artifactId>
        <version>3.3.2</version>
      </dependency>

docker version: 20.10.8

% docker version
Client:
 Cloud integration: 1.0.17
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:55:20 2021
 OS/Arch:           darwin/arm64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:53:34 2021
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker buildx ls

NAME/NODE              DRIVER/ENDPOINT             STATUS   PLATFORMS
default *              docker                               
  default              default                     running  linux/arm64, linux/amd64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

code:

File dockerfile = new File("xx/DockerFIle)
DockerClient dockerClient = DockerClientBuilder.getInstance().build();
String image = imageName + SPLIT_STRING + version;
String imageId = dockerClient.buildImageCmd()
      .withDockerfile(dockerfile)
      .withPlatform("linux/amd64")
      .withTags(Collections.singleton(image))
      .awaitImageId();

error info:

Could not build image: failed to get destination image "sha256:ae91ec76ecf9be906e8e6e7771d568cbbdd5559a78e8e9e5cdc0564f1fce4426": image with reference sha256:ae91ec76ecf9be906e8e6e7771d568cbbdd5559a78e8e9e5cdc0564f1fce4426 was found but does not match the specified platform: wanted linux/amd64, actual: linux/arm64/v8

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions