Docker container 和 image 的区别,如何创建一个image
Docker: container 和 image 的区别,如何创建一个image
Docker: container 和 image 的区别,如何创建一个image
图像的一个实例称为容器
如果你启动这个镜像,你就有了这个镜像的运行容器。您可以拥有多个运行同一镜像的容器。
图片是一个惰性的、不可变的文件,它本质上是一个容器的快照。图像是使用build命令创建的,在使用run命令启动的时候会生成一个容器。
图像存储在 Docker 注册表中,例如registry.hub.docker.com。因为它们可以变得非常大,所以图像被设计为由其他图像层组成,从而在通过网络传输图像时允许发送最少量的数据。
可以docker images
来显示本地图像。
用编程的比喻来说,如果图像是一个类,那么容器就是一个类的实例——一个运行时对象。
图像:用于创建容器的文件系统和配置(只读)应用程序。
容器:容器和图像之间的主要区别在于顶部可写层。容器正在运行具有顶层可写层的 Docker 镜像实例 。容器运行实际的应用程序。容器包括应用程序及其所有依赖项。当容器被删除时,可写层也被删除。底层图像保持不变。

虽然将容器视为运行映像最简单,但这并不十分准确。
图像实际上是一个可以变成容器的模板。为了将镜像变成容器,Docker 引擎获取镜像,在顶部添加一个读写文件系统,并初始化各种设置,包括网络端口、容器名称、ID 和资源限制。一个正在运行的容器有一个当前正在执行的进程,但是一个容器也可以被停止(或者用 Docker 的术语来说是退出)。退出的容器与映像不同,因为它可以重新启动并保留其设置和任何文件系统更改。

从 Dockerfile 创建映像的命令是docker build
.
然后将图像用作模板(或基础),开发人员可以复制并使用它来运行应用程序。应用程序需要一个隔离的环境来运行——一个容器。
这个环境不仅仅是一个虚拟的“空间”。它完全依赖于创建它的图像。源代码、文件、依赖项和二进制库都可以在 Docker 映像中找到,它们构成了容器。
要从图像创建容器层,请使用命令docker create
。
最后,从现有映像启动容器后,启动其服务并运行应用程序。