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.