Error response from daemon: No such image: fix8-d3-api:1.0 — the Docker
engine has no local image with that exact name and tag. docker tag,
docker save, docker history, docker rmi and
docker image inspect all printed it here, and none of them downloaded
anything. List your local images and use a name and tag from the list.
Run docker image ls with the repository name, read the tag it shows, and
repeat the command with that tag. If the image is not in the list at all, build it, pull
it, or load it first; these commands work on local images.
The error
PS> docker tag fix8-d3-api:1.0 fix8-d3-api:latest
Error response from daemon: No such image: fix8-d3-api:1.0
PS> docker save -o fix8-d3-api.tar fix8-d3-api:1.0
Error response from daemon: No such image: fix8-d3-api:1.0
PS> docker history fix8-d3-api:1.0
Error response from daemon: No such image: fix8-d3-api:1.0
PS> docker rmi fix8-d3-api:1.0
Error response from daemon: No such image: fix8-d3-api:1.0
Each command exited with code 1. After the failed docker save,
Test-Path fix8-d3-api.tar answered False: no tar file was
written. docker image inspect fix8-d3-api:1.0 --format '{{.Id}}' printed an
empty line and then the same message.
Why it happens
The message names a reference, the repository and the tag together, and the engine had no
image under it. Just before the test,
docker image ls fix8-d3-api --format '{{.Repository}}:{{.Tag}}' printed
nothing: there was no fix8-d3-api image at all. None of the five commands
printed a pull line; each answered with the message and exit code 1.
You meet this when a script names a tag the build did not produce, or when the commands
run on a machine where the image was never built. Compare the reference in the message,
character by character, with the list from docker image ls.
The fix
Give a local image the name the command asks for, or change the command to a name that
exists. Here a cached alpine image was tagged as
fix8-d3-api:1.0, and tag, history and rmi went through:
PS> docker tag alpine fix8-d3-api:1.0
PS> docker tag fix8-d3-api:1.0 fix8-d3-api:latest
PS> docker image ls fix8-d3-api --format '{{.Repository}}:{{.Tag}}'
fix8-d3-api:1.0
fix8-d3-api:latest
PS> docker history fix8-d3-api:1.0 --format '{{.CreatedBy}}'
CMD ["/bin/sh"]
ADD alpine-minirootfs-3.24.2-x86_64.tar.gz /…
PS> docker rmi fix8-d3-api:1.0 fix8-d3-api:latest
Untagged: fix8-d3-api:1.0
Untagged: fix8-d3-api:latest
In your own project the first line would be your docker build -t name:tag
command, with the exact tag the later commands use. The
docker rmi at the end only removed the two tags; the
alpine:latest image they pointed to was still listed afterwards.
How it was reproduced
On a Docker engine with no image called fix8-d3-api, the four commands in
the error block and docker image inspect were run from Windows PowerShell
5.1 on Docker Engine 29.9.2 (Docker Desktop on Windows 11). No pull was made. For the fix
the cached alpine image was tagged, used and untagged again. The
fix8-d3- name is this test's; your message names your own image.
Frequently asked
- What does 'Error response from daemon: No such image' mean?
- The Docker engine has no local image with that exact repository and tag. In this test docker tag, docker save, docker history, docker rmi and docker image inspect printed it, and none of them pulled anything.
- How do I fix 'No such image' when running docker tag?
- Run docker image ls with the repository name and use a tag from the list, or build the image first with docker build -t name:tag so the tag exists.
- Does docker save pull an image that is not local?
- Not in this test. docker save -o file.tar on a missing image printed 'No such image', exited with code 1 and wrote no tar file.
More decoded errors in the Fixes category.