You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Docker镜像推送至仓库:标签创建、权限及登录问题求助

搞定Docker镜像推送到Docker Cloud仓库的那些坑

我来一步步帮你解决遇到的问题,你现在的情况主要是标签格式不对、登录命令错误导致的推送失败,咱们逐个来修正:

第一步:给镜像打正确的标签

Docker镜像推送的标签格式必须和你在Docker Cloud创建的仓库匹配,你创建的仓库是andrejvi/andrejvi_repo,所以正确的标签格式应该是用户名/仓库名:镜像标签,之前你打的标签多了一层路径,导致Docker找不到对应的仓库。

执行以下命令来打正确的标签:

# 先确认本地有dev_centos32镜像
docker images
# 给镜像打正确的标签
docker tag dev_centos32 andrejvi/andrejvi_repo:dev_centos32

打完标签后再用docker images查看,就能看到新的标签条目了。

第二步:正确登录Docker Cloud(Docker Hub)

你之前用sudo docker login andrejvi是错误的,这个命令是试图登录一个叫andrejvi的私有镜像仓库,而你的仓库在官方的Docker Hub(Docker Cloud已整合到Docker Hub),正确的登录命令不需要加额外参数:

sudo docker login

执行后会提示你输入用户名(andrejvi)和密码,输入正确的凭据后就能成功登录。

第三步:推送镜像到仓库

登录成功后,执行推送命令即可:

sudo docker push andrejvi/andrejvi_repo:dev_centos32

补充说明:之前的错误原因

  • 你第一次推送andrejvi/dev_centos32失败,是因为这个标签对应的仓库andrejvi/dev_centos32你没在Docker Cloud创建,你创建的是andrejvi/andrejvi_repo,所以标签必须和仓库名对应。
  • 后来打标签andrejvi/andrejvi_repo/dev_centos32相当于把仓库名设成了andrejvi_repo/dev_centos32,和你实际创建的仓库不匹配,所以会提示权限拒绝。
  • 登录命令错误会导致Docker无法验证你的身份,自然也无法推送私有仓库(如果你的仓库是私有的话)。

内容的提问来源于stack exchange,提问作者vico

火山引擎 最新活动