Docker镜像和容器
镜像(image):提供容器运行时所需要的程序、库、资源、配置等文件外,还包括一些为运行时准备的配置参数,如匿名卷、环境变量、用户等。镜像不包含任何动态数据,内容在构建之后也不会改变。一个镜像可以运行多个container,镜像可以通过dockerfile创建,也可以直接从镜像仓库下载。
容器(container):容器的实质是进程,运行在属于自己的独立命名空间,因此容器可以拥有自己的root文件系统、网络配置、进行空间等。
Docker运行容器前需要本地存在对应的镜像,容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层。
一、Docker镜像
镜像文件一般由若干层(layer)组成,使用docker pull命令下载会获取并输出镜像的各层信息。当不同的镜像包括相同的层时,本地仅存储了层的一份内容,减小了存储空间。
1)获取镜像
docker image pull NAME[:TAG]
NAME是镜像仓库的名称(用来区分镜像),TAG是镜像的标签(往往用来表示版本信息)。
例如:获取Ubuntu 18.04系统的基础镜像使用如下命令
docker pull Ubuntu 18.04
对于Docker镜像来说,如果不显示指定TAG,则默认会选择latest标签,这会下载仓库中最新版本的镜像。