如果你是像我一样,Docker 小白,那么在docker pull
时,很有可能会遇到和我同样的问题:
好的,那么我就来具体说说我在执行下载 ubantu 镜像时遇到的问题,
$ docker pull ubantu
Using default tag: latest
Error response from daemon: pull access denied for ubantu, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
我想,现在你会看到,你遇到的问题和我的基本如出一撤。别着急,我们先来check命令docker pull ubantu
:
- 没有提供 Docker 镜像仓库地址,因此将会从 Docker Hub (
docker.io
)获取镜像 - 没有提供 tag, Docker Engine 将使用 default tag (
:latest
) - 仓库名:仓库名通常是两段式名称,即
<用户名>/<软件名>
。对于 Docker Hub,如果不给出用户名,则默认为library
,也就是官方镜像。
所以,docker pull ubantu
是从 docker.io/library/ubantu
下载 ubantu:latest
镜像
当我们去下载某个镜像时,我们肯定想知道仓库(Repository
)中是否有我们要的镜像(Image
)
很简单,run 命令:docker search ubantu
- 执行结果:显示 name 中包含
ubantu
的所有镜像 - 没有看到
DESCRIPTION
和OFFICIAL
中出现 Ubantu Base Image 和 [OK]. (docker search --filter is-official=true ubantu
)。 这就是docker pull ubantu
报错的原因,没有官方镜像
$ docker search ubantu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
boystar/ubantu Ubantu系统精简版 2
fishjerky/ubantu-mongodb 1
huangrui93/ubantu-flask 1
disuzf/ubantu 1
dhanraj91/ubantu 0
ajitsarangi/ubantu 0
xiebingmeng/ubantu 0
lclovehoro/ubantu python3.7.10 0
neertiwa/ubantu my first 0
burraharish/ubantu 0
karanmgr19/ubantu_git 0
kiransajja/ubantu 0
umeshw/ubantu 0
ca219y/ubantu 0
jbodake/ubantu 0
snowlove25/ubantu 0
anjanmaity/ubantuplusapache 0
licw81771061/ubantu_jdk7_tomcat7 0
amitgupta30/ubantu 0
dockerjqy89/ubantu_ueransim 0
damuvijji/ubantu_vim_curl 0
sunilajmera/ubantu 0
chintanmakdocker/ubantu 0
dockersameer1995/ubantu 0
wenruidocker/ubantu 0
$ docker search --filter is-official=true ubantu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
$ echo $?
0
官方仓库中没有官方镜像 ( Docker Official Images ),小白碰到这种情况如何处理呢???
其实,Docker Hub 中已经为你提供了很多关于 ubantu 的镜像,docker search ubantu
显示了所有关于 ubantu 的镜像。
到了这里,你肯定在好奇,为什么 NAME
中的镜像会有 /
, 比如 boystar/ubantu
, 其实这里就是涉及 注册服务器(Docker Registry
)。
最常使用的 Docker Registry 公开服务是官方的 Docker Hub,这也是默认的 Registry,并拥有大量的高质量的镜像。
也就是说,你在 https://hub.docker.com
免费注册一个 Docker 账号longcs
。然后用该账号登陆并创建一个自己的仓库:longcs6
此时在Docker Hub中你的仓库名为 longcs/longcs6
注册服务器是管理仓库(Repository
)的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 docker.io/boystar/ubuntu
来说,docker.io
是注册服务器地址,boystar/ubuntu
是仓库名。
$ docker pull boystar/ubantu
Using default tag: latest
latest: Pulling from boystar/ubantu
a64038a0eeaa: Pull complete
2ec6e7edf8a8: Pull complete
0a5fb6c3c94b: Pull complete
a3ed95caeb02: Pull complete
f041f6070966: Pull complete
7e8b555bd6ba: Pull complete
Digest: sha256:476636fc1bedc7bca792f97e8e14e66257d02f3535f5a627390999ffd0b75b4e
Status: Downloaded newer image for boystar/ubantu:latest
docker.io/boystar/ubantu:latest
$ docker pull longcs/longcs6
Using default tag: latest
Error response from daemon: manifest for longcs/longcs6:latest not found: manifest unknown: manifest unknown
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 46331d942d63 8 months ago 9.14kB
boystar/ubantu latest e69d4e2b6757 5 years ago 237MB
$ docker tag boystar/ubantu longcs/longcs6:Linux1
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 46331d942d63 8 months ago 9.14kB
boystar/ubantu latest e69d4e2b6757 5 years ago 237MB
longcs/longcs6 Linux1 e69d4e2b6757 5 years ago 237MB
$ docker push longcs/longcs6:Linux1
The push refers to repository [docker.io/longcs/longcs6]
0a008ebd5322: Mounted from boystar/ubantu
066c8e6bfd53: Mounted from boystar/ubantu
5f70bf18a086: Mounted from boystar/ubantu
6f32b23ac95d: Mounted from boystar/ubantu
14d918629d81: Mounted from boystar/ubantu
fd0e26195ab2: Mounted from boystar/ubantu
Linux1: digest: sha256:476636fc1bedc7bca792f97e8e14e66257d02f3535f5a627390999ffd0b75b4e size: 1574
$ docker search longcs6
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
longcs/longcs6 0
标签:pull,ubantu,报错,boystar,镜像,docker,Docker,latest From: https://www.cnblogs.com/loetho/p/16940558.html