发布网友 发布时间:2023-07-10 13:55
共1个回答
热心网友 时间:2024-04-19 09:13
镜像和容器的关系就像是面向对象程序设计中的类和实例一样。
镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。并且这些容器都是相互隔离、互不可见的。
镜像是创建容器的基础,镜像类似于虚拟机镜像,可以把Docker镜像理解成一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
镜像不包含任何动态数据,其内容在构建之后也不会被改变。容器提供了一套十分简单的机制来创建和更新现有的镜像。用户可以从网上下载一个已经做好的应用镜像,并通过命令直接使用。总之,应用运行是需要环境的,而镜像就是来提供这种环境。
举例说明:
一个镜像可以完全包含了Ubuntu操作系统环境,可以把它称作一个Ubuntu镜像。镜像也可以安装了Apache应用程序(或其他软件),就可以把它称为一个Apache镜像。