Deploy fails: the image tag won't pull
Easy

Problem

The CI deploy of the new release bailed out. The job ran:

docker run -d --name app-next -p 8081:8080 myapp:v1.2.5

and Docker refused it:

Unable to find image 'myapp:v1.2.5' locally
docker: Error response from daemon: failed to resolve reference
"docker.io/library/myapp:v1.2.5": docker.io/library/myapp:v1.2.5: not found

Production (app, myapp:v1.2.4) is still up and serving on 8080, but the rollout of the new tag is stuck. Figure out why v1.2.5 won't pull and get a working build deployed as app-next.

Initial setup

  • app — current production, myapp:v1.2.4, up 2 weeks, on 8080.
  • The release pipeline tried to deploy a new tag myapp:v1.2.5.

Example interaction

$ docker pull myapp:v1.2.5
Error response from daemon: failed to resolve reference
"docker.io/library/myapp:v1.2.5": docker.io/library/myapp:v1.2.5: not found

$ docker images myapp
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
myapp        v1.2.4    b2c3d4e5f6a7   ...           41.3MB
myapp        v1.2.3    a1b2c3d4e5f6   ...           41.2MB

Acceptance

You've solved it when:

  • You've established that myapp:v1.2.5 does not exist in the registry
(a manifest/not found resolve error — not a daemon outage, not a network problem, not a credentials problem).
  • You've deployed a build that actually exists — bring a container up
running on a real tag (myapp:v1.2.4, the last image that was actually pushed; v1.2.5 was never built).

Constraints

  • Tools: docker CLI only.
  • Leave a new container in status == running on a real, pullable tag.

Follow-up

  1. manifest unknown vs pull access denied … repository does not exist
vs toomanyrequests — what distinct registry condition does each signal?
  1. Why does retrying the exact same docker pull myapp:v1.2.5 never help,
no matter how many times CI re-runs it?
Live session
Code
SavedNo commands yet