docker pull learn/tutorial拉取镜像失败

安装完docker后,执行docker pull learn/tutorial 发现镜像拉

[root@bogon ~]# docker pull learn/tutorial

Using default tag: latest

Trying to pull repository docker.io/learn/tutorial ...

latest: Pulling from docker.io/learn/tutorial

271134aeb542: Pulling fs layer

参考这个地址

https://ieevee.com/tech/2016/09/28/docker-mirror.html

https://github.com/silenceshell/docker_mirror

docker_mirror

查找国内最快的docker镜像源,支持CentOS/Ubuntu。

Python编写,需要root权限,支持ubuntu和centos7,其他操作系统需要补充。

扫描二维码关注公众号,回复: 201585 查看本文章

使用方法非常简单,下载 docker_mirror.py 文件到本地,执行下面的命令即可,脚本会自动从official, aliyun, netease, ustc尝试下载centos最新的docker镜像,并计算使用的时间;按使用时间最少的镜像设置docker配置,并重启docker进程。

python ./docker_mirror.py

脚本执行后,就可以直接使用最快的docker镜像了。

按照上面的宝典,然后再重新拉取镜像

docker pull learn/tutorial
Using default tag: latest
Trying to pull repository docker.io/learn/tutorial ...
latest: Pulling from docker.io/learn/tutorial
271134aeb542: Pull complete
Digest: sha256:2933b82e7c2a72ad8ea89d58af5d1472e35dacd5b7233577483f58ff8f9338bd
[root@bogon ~]#

 

发现成功的拉取了镜像

执行docker images

[root@bogon ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
docker.io/learn/tutorial   latest              a7876479f1aa        4 years ago         128 MB
[root@bogon ~]#

如果看到以上输出,说明您可以使用“docker.cn/docker/centos”这个镜像了,或将其称为仓库(Repository),该镜像有一个名为“latest”的标签(Tag),此外还有一个名为“a7876479f1aa”的镜像 ID(可能您所看到的镜像 ID 与此处的不一致,那是正常现象,因为这个数字是随机生成的)。此外,我们可以看到该镜像只有 128 MB,非常小巧,而不像虚拟机的镜像文件那样庞大。

现在镜像已经有了,我们下面就需要使用该镜像,来启动容器

启动容器

容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何才能启动容器呢?

只需使用以下命令即可启动容器:

docker run -i -t -v /root/software/:/mnt/software/ a7876479f1aa /bin/bash

 这条命令比较长,我们稍微分解一下,其实包含以下三个部分:

docker run <相关参数> <镜像 ID> <初始命令>

其中,相关参数包括:

  • -i:表示以“交互模式”运行容器
  • -t:表示容器启动后会进入其命令行
  • -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。

需要说明的是,不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”,例如:docker.io/learn/tutorial latest

初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。

随后,可使用如下命令查看正在运行的容器:

docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
da91e745434b        a7876479f1aa        "/bin/bash"         5 minutes ago       Up 4 minutes                            hungry_fermi

发现刚才运行的容器在这里出现了
接下来执行docker version
[root@bogon ~]# docker version
Client:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.12.6
 API version:     1.24
 Package version: docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
 Go version:      go1.8.3
 Git commit:      3e8e77d/1.12.6
 Built:           Tue Jan 30 09:17:00 2018
 OS/Arch:         linux/amd64
发现 Server端也有了

猜你喜欢

转载自zhengyunfei.iteye.com/blog/2411791