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

denied: requested access to the resource is denied

注:我已成功登录docker


当前回答

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

其他回答

Docker中心计划对命名空间可以使用的私有存储库数量有限制。例如,免费计划将只允许您在任何时间点为一个帐户使用一个私有存储库。

如果你在计划的限制之内,那么你的努力就会成功。否则,将创建一个带有适当标记的空存储库,但图像本身不会被推送。

在我的例子中,我在推送图像之前使用web控制台将存储库创建为公共。

有时,当您已经使用另一个帐户登录时,可能会遇到此问题。在这些情况下,你必须:

docker logout

然后

docker login  

在使用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

我也有这个问题。事实证明,我使用的是免费层,并试图在私有存储库中推送多个图像。将一张图片设为私有,其余的设为公共,这对我来说很管用。

步骤1:修改docker帐号的隐私模式

https://hub.docker.com/settings/default-privacy

第二步:执行屏幕短片中提到的以下命令:

码头工人的图片 docker tag <<TAG_ID>> <<USER_NAME>>/<<IMAGE_NAME>>:最新的 Docker登录Docker .io docker push <<USER_NAME>>/<<IMAGE_NAME>>:最新的

输出: