我们在学习使用docker过程中会遇到容器和镜像,这两者概念特别相似,所以在学习上就给我们带来了许多麻烦,只有把二者区分开才能有利于我们的学习。那么,容器和docker的镜像的区别有哪些?看完这篇就够了。
容器和docker的镜像的区别如下:
要理解Docker镜像和docker容器之间的区别,确实不容易。docker镜像是docker容器运行时的只读模板,镜像可以用来创建docker容器。假设Linux内核是第i0层,无论怎么运行Docker,它都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第1层,它不能被修改或不能保存状态。
一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以是多层的。第1层的镜像层我们称之为基础镜像(Base Image),其他层的镜像(除了最顶层)我们称之为父层镜像(Parent Image)。这些镜像继承了他们的父层镜像的所有属性和设置,并在Dockerfile中添加了自己的配置。
Docker镜像通过镜像ID进行识别。镜像ID是一个64字符的十六进制的字符串。但是当我们运行镜像时,通常我们不会使用镜像ID来引用镜像,而是使用镜像名来引用。要列出本地所有有效的镜像,可以使用命令。
容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
Docker是基于镜像的。镜像类似于已经包含了文件、配置和安装好的程序的虚拟机镜像。你可以像启动虚拟机一样启动
多个镜像实例。运行中的镜像称为容器。
我们可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,我们使用 docker commit 命令可以把一个正在运行的容器变成一个新的镜像。
综上所述就是容器和docker的镜像的区别所在,在这里希望能帮到更多的朋友。
Linux基金会开源软件学园 Copyright © 2019-2024 linuxfoundation.cn, ICP license, no. 京ICP备17074266号-2