二、 拉取镜像

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 1.任务描述
  • 2.相关知识
  • 3.获取镜像
  • 4.docker pull命令背后的工作
  • 5.docker pull的两个基本实例
  • 6.任务要求
  • 6.笔者答案
  • 总结


前言

Docker基础实战教程一:入门
二、 拉取镜像


提示:以下是本篇文章正文内容,下面案例可供参考

1.任务描述

本关的任务是学习准备一个容器的运行环境,更准确的说,应该是拉取一个具备某个运行环境的镜像,要求学习者参照示例完成“从Docker Hub中拉取一个busybox:1.27镜像”的功能。

2.相关知识

在Docker的官方镜像仓库Docker Hub中保存了各种各样的镜像,这些镜像中保存了各种各样的运行环境。例如包含Linux运行环境的“ubuntu”镜像、“centos”镜像、“busybox”镜像等,提供数据库服务的“mysql”镜像、“oracle”镜像、“redis”镜像等。提供程序运行环境的“java”镜像、“python”镜像、“c++”镜像等等。基本上我们日常工作所需要的运行环境在Docker Hub中都会有对应的镜像(Docker Hub官网:https://hub.docker.com/ )(这些镜像不是凭空出现的,这是镜像构建者们辛勤的劳动成果。每一个Docker的使用者都应该感谢这些镜像构建者们!!)

但是在安装完Docker之后,本地是没有任何镜像的。下面介绍如何从Docker Hub中拉取镜像(或者说下载镜像)。

3.获取镜像

默认情况下,使用docker pull命令,会从官方的Docker Hub库中将镜像拉取到本地。
例如,我们要从Docker Hub官方仓库拉取一个Ubuntu 14.04的官方镜像,其语句如下:

docker pull ubuntu:14.04

4.docker pull命令背后的工作

首先,如果tag值为空,即没有指定标签,就会使用默认tag,也就是latest,如果tag值不为空,就使用指定的tag。

然后,默认情况下,会在Docker Hub中寻找名为“repoName”的仓库,如果仓库不存在,返回错误信息。如果仓库存在,就从仓库中拉取对应tag的镜像。例如:如果执行docker pull ubuntu:14.04,那么将从“ubuntu”仓库中拉取tag为14.04的镜像,而如果执行docker pull ubuntu,会从“ubuntu”仓库中拉取tag为latest的镜像。
(在Docker Hub中有很多个镜像仓库,一般情况下会将同一类型的镜像放在同一个仓库中,例如在一个ubuntu仓库中由很多个ubuntu镜像组成,包括ubuntu:14.04、ubuntu:16.04、ubuntu:latest等等镜像)。

最后,将拉取的镜像存储到本地的指定位置。

5.docker pull的两个基本实例

执行docker pull ubuntu之后,会有下面的执行结果。(执行命令之前,本地并不存在ubuntu:latest镜像)。

如下图所示,因为没有显示地指定tag,所以就使用默认tag,也就是latest。于是会在Docker Hub中从ubuntu仓库中拉取ubuntu:latest镜像,当将镜像一层层下载完成后,存储到本地。

[root@localhost Desktop]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
e0a742c2abfd: Pull complete 
486cb8339a27: Pull complete 
dc6f0d824617: Pull complete 
4f7a5649a30e: Pull complete 
672363445ad2: Pull complete 
Digest: sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f
Status: Downloaded newer image for ubuntu:latest
[root@localhost Desktop]# 

6.任务要求

  • 本关的编程任务是补全step2/pullimage.sh文件中的内容,要求拉取一个名为busybox:latest的镜像。具体要求如下:

  • 从Docker Hub官方镜像仓库拉取busybox:1.27镜像。

6.笔者答案

#注意如果想在右侧使用命令行模拟操作,请先输入
#service docker start
#否则将不能执行docker命令


#拉取busybox:1.27镜像
#********** Begin *********#
docker pull busybox:1.27
#********** End **********#

核心代码

service docker start
docker pull busybox:1.27

运行截图
二、 拉取镜像_第1张图片

总结

Docker基础实战教程一:入门
二、 拉取镜

你可能感兴趣的:(docker容器技术,docker,容器)