On stack deploy, unable to pin image to digest: unauthorized: the client does not have permission for manifest
The issue was we were using a specific old version of Docker Swarm (I think version 13) that had a bug that caused this error. We were limited to that version since RHEL7 at the time was limited to that version. Using Ubuntu and updating Docker to a more recent version solved it.
jpyams
Entrepreneur, software engineer, fan of open source, Linux, and Blender. A.M.D.G.
Updated on December 13, 2022Comments
-
jpyams over 1 year
I'm running a Docker stack using a custom image which I have pushed to an Artifactory repository.
docker-compose.yml:
version: "3" services: app: image: repo.example.com/my_image:latest
I can pull the image fine, and I can deploy the stack fine, but if I try to redeploy the stack, I get an error.
$ docker stack deploy --with-registry-auth -c docker-compose.yml my_stack Creating network my_stack_default Creating service my_stack_app $ docker stack deploy --with-registry-auth -c docker-compose.yml my_stack Updating service my_stack_app (id: 8po6oepjdgo8kwsb7n4ig64dt) unable to pin image repo.example.com/my_image:latest to digest: unauthorized: The client does not have permission for manifest
I expect Docker to update the image when I redeploy the stack, just like it would if I used an image from Docker Hub.
I've seen Docker say
unable to pin image
before, but that was when I did not specify a repository (e.g. docker.io). I know I have permission fromrepo.example.com
because I pushed the image there, I can still pull from it, and I can start the stack. I just can't update it.What does this
client does not have permission for manifest
error mean, and how do I fix this issue? -
jpyams over 4 yearsUnfortunately, this doesn't work for me. I already have Delete/Overwrite permissions.
-
jpyams over 4 yearsOut of curiosity, why would not having Delete/Overwrite permissions cause issues?