docker - 从我拥有的存储库中提取 Docker 镜像时访问被拒绝

标签 docker docker-registry access-denied

我构建了一个 Docker 镜像,并在我的帐户下推送到 Docker Hub,然后在本地删除。但是当我尝试拉它时,它会引发以下错误:
Error response from daemon: pull access denied for mightyspaj/dockerfile-assignment-1, repository does not exist or may require 'docker login'
我登录到拥有该图像存储库的同一帐户,并且可以完美地执行其他任务(例如推送)。该存储库也肯定存在于 Docker Hub 上,但是当我尝试拉取它时它失败了。

我尝试了以下事情:

  • 退出我的帐户并重新登录
  • 重命名config.json并重新生成它
  • 运行一个孤立的 Docker带有 docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock:ro docker sh 的容器,然后登录我的帐户并尝试提取图像
  • 删除和重新创建存储库

  • 所有这些事情仍然会产生相同的错误。我很困惑。

    需要注意的是,我的客户端和引擎版本都是 17.12.0-ce .我的操作系统是 Ubuntu 17.10(64 位)。

    控制台输出
    docker login
    -> % docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: mightyspaj
    Password: 
    Login Succeeded
    
    docker tag
    -> % docker tag dockerfile-assignment-1:latest mightyspaj/dockerfile-assignment-1
    
    docker push
    -> % docker push mightyspaj/dockerfile-assignment-1                              
    The push refers to repository [docker.io/mightyspaj/dockerfile-assignment-1]
    8427a8e6a29f: Pushed 
    655a921743e8: Pushed 
    8aa44edb7524: Pushed 
    60f1a2dc4cd8: Mounted from library/node 
    9185fe936b87: Mounted from library/node 
    e53f74215d12: Mounted from library/node 
    latest: digest: sha256:6c68220ba84f13d0229ef4458f22369410bb98764b908a75be0849c3003de160 size: 1582
    
    docker image rm
    -> % docker image rm mightyspaj/dockerfile-assignment-1
    Untagged: mightyspaj/dockerfile-assignment-1:latest
    Untagged: mightyspaj/dockerfile-assignment-1@sha256:6c68220ba84f13d0229ef4458f22369410bb98764b908a75be0849c3003de160
    
    docker image pull
    -> % docker image pull mightyspaj/dockerfile-assignment-1
    Using default tag: latest
    Error response from daemon: pull access denied for mightyspaj/dockerfile-assignment-1, repository does not exist or may require 'docker login'
    

    最佳答案

    只有当我公开存储库时,我才能解决同样的问题。确保存储库是公开的,然后这是我在命令行中遵循的一组说明:
    一旦从 docker hub 注销并再次登录。
    1- docker logout2- docker login --username=YOURUSERNAME询问时输入密码
    3- docker pull repositoryName"/"imageName[:tag]如果不包含“tag”,则默认值为“latest”。
    然后通过docker images查看图片命令以检查其是否被拉出。
    拉取完成后,我再次将存储库设为私有(private)。

    关于docker - 从我拥有的存储库中提取 Docker 镜像时访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48824905/

    相关文章:

    docker - 将 Github secret 传递给 docker github 操作

    linux - 自定义 docker 位置导致 SELinux 标签未标记

    docker - Nexus3 : Push to Docker Group Repo

    docker - 可以登录到 docker-registry 但不能推送图像(github)

    MySQL 错误 1045 (28000) : Access denied for user 'bill' @'localhost' (using password: YES)

    linux - 如何在 Systemd Unit 配置中使用 'when' 条件

    ruby-on-rails - 在 Ruby on Rails 中使用 Docker 时控制台打印不出现

    search - Docker 1.6 和 Registy 2.0

    c# - 访问被拒绝尝试观看已完成的事件

    mysql - 用户 'root' @'localhost' 的访问被拒绝(使用密码 : YES) when authentication_string is correct