我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
当前回答
如果在docker登录后仍然失败,请确保您试图推送到的存储库在一开始就已创建。
其他回答
我的问题是在我的图像名称中使用无效字符(额外的/):
myusername/something/image
无效的映像名称。/上的用户名都尝试dangillmor something-image。希望这能帮助到一些人。
我也有同样的问题。我强烈推荐大家浏览一下这个博客。
我的问题更多地与ACR有关。Docker客户端将引用配置。您的SP证书文件将存储在json文件中(角色所有者)。
博客中帮助我解决问题的部分有:
Docker镜像ls Docker标签.azurecr.io/:v1 Docker推送.azurecr.io/:v1
在此操作之前,我还创建了一个具有所有者特权的SP。
我真的希望这能帮助到一些人(像我一样先看最终答案的人):
我不断地尝试输入
docker push user/repo/tag
而不是
docker push user/repo:tag
因为我也这样做了我的标签:
docker tag image user/repo/tag
...一切都毁了。
我真诚地希望你不要重蹈我的覆辙。我在这上面浪费了30分钟…
在使用Fabric8 Maven插件(在Windows 10上)和直接从命令行调用docker push时,我一直在与docker push作斗争。
最后我用同样的方法解决了这两个问题。
我的回购叫做vgrazi/playpen。在我的pom中,我将docker镜像名称更改为vgrazi/playpen,如下所示:
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.31.0</version>
<configuration>
<dockerHost>npipe:////./pipe/docker_engine</dockerHost>
<verbose>true</verbose>
<images>
<image>
<name>vgrazi/playpen</name>
<build>
<dockerFileDir>${project.basedir}/src/main/docker/</dockerFileDir>
...
这让我做一个mvn清洁包docker:build docker:push从命令行,最后,图像出现在我的repo,这是我试图解决的问题。
顺便说一句,为了回答OP并让它直接从命令行工作,没有Maven,我做了以下操作(PS是PowerShell提示符,不要键入它):
PS docker images
vgrazi/docker-test/docker-play playpen 0722e876ebd7 40 minutes ago 536MB
rabbitmq 3-management 68055d63a993 10 days ago 180MB
PS docker tag 0722e876ebd7 vgrazi:playpen
PS docker push vgrazi/playpen
图像再次出现在我的docker中。Io: repo vgrazi/playpen
我带着同样的信息来到这里,但来自Azure DevOps。
在我的例子中,我使用docker-compose,而不仅仅是docker,并在yaml中编写构建管道。
- task: DockerCompose@0
displayName: 'Push services'
inputs:
azureSubscription: '$(Parameters.azureSubscriptionEndpoint)'
azureContainerRegistry: '$(Parameters.azureContainerRegistry)'
dockerComposeFile: '$(Parameters.dockerComposeFile)'
additionalDockerComposeFiles: |
docker-compose.release.yml
docker-compose.ci.yml
dockerComposeFileArgs: 'PublishFolder=publish'
action: 'Push services'
additionalImageTags: '$(Build.BuildId)'
includeLatestTag: true
我得到的消息是明确地说,它正在尝试推送到docker。io,这不是我想要的。我本来打算把它送到我的Azure容器注册中心。
这里缺少的是输入下的这一行:
containerregistrytype: Azure Container Registry
上面构建yaml的现有管道向导根本没有这一行。 希望这能帮助其他人在Azure DevOps上绞尽脑汁。