我正在按照这个链接创建我的第一个docker映像,它成功了,现在我试图从这个链接将这个映像推到我的docker存储库中。但是每当我试图将这个映像推入存储库时,我就会得到这种类型的错误。

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

不允许误导标签名称。 我的解决方法是:

Command 1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/trys:1.0 (Didn't push)
Command 2(Push): docker push rsachde/nginx-repository/try:1.0 

输出:

Denied:拒绝访问资源的请求


Command 1.1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/:trys 
Command 2.2(Push): docker push rsachde/nginx-repository:trys 

输出:

trys: digest: sha256:405b6f0ae25772ef71b8f59fd6a56ff9b426f50bd24bac2b5db41f65efd3387c 尺寸:1365

误导是标签,确保你们理解。

其他回答

如果在docker登录后仍然失败,请确保您试图推送到的存储库在一开始就已创建。

OS: Ubuntu16.04

原因:我删除了客户端配置文件(~/.docker/config.json)

解决方案:

重启码头工人。 服务docker重启。 它需要输入登录信息,然后自动生成配置文件。 Docker login——username=yourdockerhubername——email=youremail@company.com

我也有同样的问题。在我的情况下,我登录在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。 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回购。

我的答案与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需要这一点来知道在哪里推送图像。