Docker Community Forums

Share and learn in the Docker community.

Cannot run amd64 images on my M1 MBP

I’m running Docker Desktop for Mac 3.3.3 on a 2020 MacBook Pro M1 with macOS 11.3, and it’s supposed to run amd64 images as well. However, running docker compose with this docker-compose.yaml:

version: "3.7"

services:
    service1-db-legacy-dev:
        image: "mysql:5.5"
        platform: linux/amd64
        environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
        ports:
            - "43306:3306"

results in:

[+] Building 1.3s (3/3) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                           0.0s
 => => transferring dockerfile: 51B                                                                                                                                                                            0.0s
 => [internal] load .dockerignore                                                                                                                                                                              0.0s
 => => transferring context: 2B                                                                                                                                                                                0.0s
 => ERROR [internal] load metadata for docker.io/library/mysql:5.5                                                                                                                                             1.2s
------
 > [internal] load metadata for docker.io/library/mysql:5.5:
------
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:12da85ab88aedfdf39455872fb044f607c32fdc233cd59f1d26769fbf439b045: not found

docker manifest inspect mysql:5.5 results in:

{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 2619,
         "digest": "sha256:c9c671d0c959183154313d6830d46f9a00d5937f97415c15ebd3c6844f6f1467",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      }
   ]
}

so a linux/amd64 build does in fact exist. Why is my docker not running it?

Thank you,
Bombe