我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
当前回答
docker处理用户id和存储库的方式可能有点令人困惑。 假设您在docker hub上创建了一个用户帐户xyz。新帐户自动建立名称空间xyz。 然后创建一个名为myrepo的存储库。存储库名称实际上是xyz/myrepo。
要推送一个图像,你应该做:
docker push docker.io/xyz/myrepo
如果需要,可以添加“:latest”或其他标签。
如果你得到的资源访问请求被拒绝错误消息:
访问https://hub.docker.com/并以xyz登录。 单击存储库xyz/myrepo。 点击合作者。 添加xyz作为合作者。
其他回答
我在git上的问题是项目权限配置。 我已经通过启用“容器注册表”在设置->通用->可见性,项目功能,权限和启用容器注册表为我的项目(链接):
我在上码头工人初级课程时也遇到了同样的问题。我通过在docker push调用之前进行adocker登录来解决这个问题。
我带着同样的信息来到这里,但来自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上绞尽脑汁。
我也有同样的问题,但这里给出的接受答案不适合我。 我试了几步,最后终于能推它了。
以下是对我有用的步骤:
登录docker。 Docker登录-u sirimalla 标记您的映像构建
我的图像名称是:mylocalimage,默认情况下它有标签:latest 和我的用户名是:sirimala注册到docker云,我创建了一个公共存储库名为:dockerhub
所以我的个人存储库现在变成了:sirimala /dockerhub 我想用标签myfirstmagepush来推送我的图片
我标记如下:
docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush
将图像推送到我的个人docker存储库,如下所示 Docker push sirimala /dockerhub: myfirstmagpush
它成功地推动了我个人的docker回购。
最后对我有用的唯一一件事是在dockerhub中创建一个公共存储库,并用相同的名称标记本地映像,并在合作者{in dockerhub}中添加我的userID,最后推送它。