我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。
denied: requested access to the resource is denied
注:我已成功登录docker
当前回答
我今天也遇到了同样的问题。唯一对我有用的是显式登录到“docker.io”:
docker login docker.io
我尝试了各种其他名称,登录似乎可以工作,但稍后会导致以下错误。
请求的资源访问被拒绝
其他回答
我在上码头工人初级课程时也遇到了同样的问题。我通过在docker push调用之前进行adocker登录来解决这个问题。
在使用Gitlab注册表时,我还遇到了这个错误消息。不同之处在于,我试图从以前的构建中更改映像的名称。这里的问题是,推送图像的注册表不存在,因为图像的新名称与我组中的任何项目都不匹配。
TLDR:在Gitlab中,映像名称必须与项目名称匹配。
我也有同样的问题。在我的情况下,我登录在index.docker.io,并将图像推到docker.io/username/image:标签。
解决方案是在docker中登录。IO通过运行这个命令:
export CI_REGISTRY=docker.io
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
docker push USERNAME/IMAGE:TAG
输出为:
The push refers to repository [docker.io/USERNAME/IMAGE:TAG] eeb7e16c6369: Preparing 6bd09f46d0ae: Preparing f5a7f7a3fb28: Preparing 07952c1df7f6: Preparing a4522c0d203b: Preparing 3e207b409db3: Preparing 3e207b409db3: Waiting a4522c0d203b: Layer already exists 3e207b409db3: Layer already exists f5a7f7a3fb28: Pushed 6bd09f46d0ae: Pushed 07952c1df7f6: Pushed eeb7e16c6369: Pushed latest: digest: sha256:7ce256fa83ef1eebcaaaa460c4d73f87f2adf304bc6e6c1b83a19d987cd61ad5 size: 1579 Running after_script 00:02 Saving cache 00:01 Uploading artifacts for successful job 00:02 Job succeeded
的问候。
Docker中心计划对命名空间可以使用的私有存储库数量有限制。例如,免费计划将只允许您在任何时间点为一个帐户使用一个私有存储库。
如果你在计划的限制之内,那么你的努力就会成功。否则,将创建一个带有适当标记的空存储库,但图像本身不会被推送。
在我的例子中,我在推送图像之前使用web控制台将存储库创建为公共。
我的答案与Azure DevOps相关,类似于我在以下通用管道中遇到的问题(它更具体,但它可能有助于节省时间):
从github获取资源 构建docker映像 推送docker镜像到dockerhub
我在推送拒绝时收到的错误:对资源的请求访问被拒绝发送到这里。
请注意映像名称中包含的变量$(Build.Repository.Name)。它默认是来自github的存储库名称,但为了让您的推送工作,它应该是dockerhub_account_username/your_dockerhub_repository_name。
将$(build . repository . name)替换为dockerhub_account_username/your_dockerhub_repository_name在映像名称字段中用于构建和推送步骤。
dockerhub api需要这一点来知道在哪里推送图像。