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.
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):
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.
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.
Exact steps for anyone else who’s just as baffled as me:
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).
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.
Build with the following command (in the app folder):