Docker中容器和图像的区别是什么?在Docker入门教程中,这两个术语都被使用了,但我不明白其中的区别。

谁能给我点灯?


当前回答

码头工人图片: 它包含一个关于如何构建和运行容器的命令和指令列表。因此,基本上Images包含启动容器(也称为blueprint)所需的所有数据和元数据。我们不能在没有指定图像的情况下将一个容器送入午餐。

$docker images centos

列出所有可用的centos版本。

码头工人容器: 容器是图像的午餐,因此我们可以说容器是图像的运行实例。 Container是一个运行时构造,不像Images是构建时构造。

其他回答

码头工人图片: 它包含一个关于如何构建和运行容器的命令和指令列表。因此,基本上Images包含启动容器(也称为blueprint)所需的所有数据和元数据。我们不能在没有指定图像的情况下将一个容器送入午餐。

$docker images centos

列出所有可用的centos版本。

码头工人容器: 容器是图像的午餐,因此我们可以说容器是图像的运行实例。 Container是一个运行时构造,不像Images是构建时构造。

映像基本上是用于创建容器的不可变模板。通过考虑将图像转换为容器所发生的变化,可以更容易地理解图像和容器之间的区别。

The Docker engine takes the image and adds a read-write filesystem on top, then initialises various settings. These settings include network options (IP, port, etc.), name, ID, and any resource limits (CPU, memory). If the Docker engine has been asked to run the container it will also initialise a process inside it. A container can be stopped and restarted, in which case it will retain all settings and filesystem changes (but will lose anything in memory and all processes will be restarted). For this reason a stopped or exited container is not the same as an image.

图片是用你的手机拍的照片。 容器就是电话。

在Docker中,一切都从图像开始。映像是构成操作系统所需的所有文件。传统上,您需要为每个应用程序安装一个完整的操作系统。使用Docker,你可以把它配对,这样你就有一个小容器,里面有足够的操作系统来做你需要做的事情,你可以在一台计算机上高效地拥有很多很多这样的容器。

使用docker images查看已安装的映像,使用docker ps查看正在运行的映像。 当你输入docker run时,它会获取映像,并使其成为一个带有运行进程的活容器。我倾向于使用:

Docker运行-ti <image>:<tag> bash

最后,图像有它们自己的id集,容器也有它们自己的id集——它们不重叠。

DockerFile——(构建)——> DockerImage——(运行)——> DockerContainer

DockerFile是你或开发人员编写代码来做某事的文件(安装前)

Docker Image是你在构建Docker文件时得到的。

Docker容器是你运行Docker镜像时得到的

我们可以通过拖动Docker hub来获取Docker Image,然后运行它来获取container。