Docker容器与镜像是Docker的核心组件,掌握好两者对于理解Docker至关重要@mikechen
Docker镜像
Docker镜像是一个只读的模板,包含:运行应用所需的文件系统、库、依赖、配置、和环境变量。
Docker镜像最主要的作用:就是用于创建:Docker容器。
Docker镜像本质上是一个特殊的文件系统,采用分层存储(Union FS)技术,由多层只读文件系统叠加组成。
Docker镜像,包含了:运行应用程序所需的所有文件、库、环境变量和配置。
Docker镜像作为创建Docker容器的基础,镜像通常被储存在Docker仓库中,供用户下载使用。
Docker容器
Docker容器是基于Docker镜像创建的一个运行实例,是一个轻量级、可移植且独立的运行环境。
Docker容器,提供了一个隔离的运行环境,其中包含了应用程序及其所有依赖项。
Docker容器被形象地比喻为“集装箱”,这一比喻源自海运集装箱的标准化和隔离特性。
如下图所示:
就像海运集装箱将各种货物封装在统一规格的箱子里,方便运输且互不干扰。
Docker容器则将应用及其所有依赖打包在一个标准化的运行环境中,实现应用的隔离、和便携。
Docker容器与镜像区别
可以从以下几个方面进行比较:
1.运行区别
镜像:是一个静态的文件系统,类似于类或者模板。
容器:是镜像的运行时实例,类似于对象或者进程。
2.状态区别
镜像:是只读的,不可变的。
容器:是可写的,可以动态变化。
3.周期区别
镜像:是静态的,通常存储在仓库中。
容器:是动态的,具有生命周期。
4.核心区别
镜像:可以类比于一个操作系统安装光盘。
容器:可以类比于一个安装好的操作系统。
总之,Docker镜像是创建Docker容器的蓝图,而Docker容器是Docker镜像的运行实例。