在堆栈部署上,无法固定图像以进行摘要:未经授权:客户端没有清单的权限

时间:2019-08-06 15:33:06

标签: docker artifactory docker-swarm docker-stack

我正在使用自定义映像运行Docker堆栈,该映像已推送到Artifactory存储库。

docker-compose.yml:

version: "3"

services:
  app:
    image: repo.example.com/my_image:latest

我可以很好地拉映像,也可以很好地部署堆栈,但是如果尝试重新部署堆栈,则会出现错误。

$ 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

我希望Docker在重新部署堆栈时会更新映像,就像使用Docker Hub中的映像一样。

我以前曾经看到Docker说unable to pin image,但是那是我没有指定存储库(例如docker.io)的时候。我知道我已获得repo.example.com的许可,因为我将图像推送到那里,我仍然可以从中提取图像,并且可以启动堆栈。我只是无法更新。

client does not have permission for manifest错误是什么意思,如何解决此问题?

1 个答案:

答案 0 :(得分:0)

您的用户似乎对此存储库没有“删除/覆盖”权限。请让您的Artifactory管理员为该存储库的用户添加此权限,然后重试。

希望这会有所帮助!