Docker/getting-started tutorial - docker: no matching manifest for linux/amd64 in the manifest list entries

I’m trying to follow the docker/getting-started tutorial from here: https://www.docker.com/101-tutorial/

It’s all going well, I got up to the “Sharing our App” section. It’s all working locally, got it pushed to my Docker Hub repository, and now I’m at the step where I open Play with Docker (https://labs.play-with-docker.com/) in the browser, log in with my Docker Hub account, add a new instance, and go to run my app from the repository.

I get this:

$ docker run -dp 3000:3000 miriamtesting/getting-started
Unable to find image 'miriamtesting/getting-started:latest' locally
latest: Pulling from miriamtesting/getting-started
docker: no matching manifest for linux/amd64 in the manifest list entries.
See 'docker run --help'.

The docker run --help command doesn’t actually help me much, because I don’t know what I’m looking for in there.

I’ve rummaged around the app files and can’t see anything obvious (I’m new to Docker so I may be missing the obvious).

I don’t know if it matters what machine I’m running on, since it all works locally and I’m still 100% using the code from the tutorial, but in case it makes a difference… I’m on a Mac M3 Pro and running Docker Desktop.

Hello.

Yes, I created the image miriamtesting/getting-started, as instructed in the tutorial. I pushed it to docker hub. I can see it there in docker hub in my repositories: https://hub.docker.com/r/miriamtesting/getting-started

The tutorial DOES tell you to put your username in there, in the step “Sharing our App” (as I said in my original post), it instructs you to (copied and pasted DIRECTLY from the tutorial this time):

  1. Open your browser to Play with Docker.
  2. Log in with your Docker Hub account.
  3. Once you’re logged in, click on the “+ ADD NEW INSTANCE” link in the left side bar. (If you don’t see it, make your browser a little wider.) After a few seconds, a terminal window will be opened in your browser.
  4. In the terminal, start your freshly pushed app.
docker run -dp 3000:3000 YOUR-USER-NAME/getting-started

You should see the image get pulled down and eventually start up!
5. Click on the 3000 badge when it comes up and you should see the app with your modifications! Hooray! If the 3000 badge doesn’t show up, you can click on the “Open Port” button and type in 3000.

However, when I run step 4 in Play with Docker, it gives me the error I described in my original post.

Edit: When I go to the Image Management tab in my Docker Hub repository, I see there’s a linux/arm64 image/manifest/whatever listed, but it seems that Play with Docker wants a linux/amd64 one.

My apologies, you are correct; please disregard my previous reply

As you are using an M3 chip, the images you create are for ARM, while Play with Docker seems to be using AMD machines only

You could create an AMD platform version of your image so that PWD can run it if you use the --platform option within the build command

Omg that works.

Exact steps for anyone else who’s just as baffled as me:

  1. In Docker Desktop, open settings > general > select “Use containerd for pulling and storing images” (may require restart of Docker Desktop if this isn’t already selected).
  2. Undo all the steps back to where you build your image - so that’s delete your getting-started containers (not the tutorial one), and images.
  3. Build with the following command (in the app folder):
docker build -t getting-started --platform linux/amd64,linux/arm64 .
  1. Continue the tutorial (can skip the updating app section) from “Sharing our App” again with docker tag and docker push etc.

It now runs on Play with Docker!

$ docker run -dp 3000:3000 miriamtesting/getting-started
Unable to find image 'miriamtesting/getting-started:latest' locally
latest: Pulling from miriamtesting/getting-started
latest: Pulling from miriamtesting/getting-started
f18232174bc9: Pull complete 
a5cf150cb374: Pull complete 
f46e519824fb: Pull complete 
3d8c59f7308d: Pull complete 
8a2ebe0c3c66: Pull complete 
8e0eec261cac: Pull complete 
0679e8bbc76c: Pull complete 
Digest: sha256:cb1bf60030120e066dd95ad4fa16e1203bad76618185bd962594e936bb150e01
Status: Downloaded newer image for miriamtesting/getting-started:latest
9ca5f21b84a57bbb057c4fcb6622e6e2f6a245955bcb9032a8362becd4caa70f

Success! Happy dance!

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.