什么是docker镜像
简单地理解,docker镜像就是一个linux的文件系统(root filesystem),这个文件系统里面包含可以运行在linux内核的程序以及相应的数据。
谈到这里,我们可能需要先补充一点与linux操作系统相关的知识:
一般而言, linux分为两个部分:linux内核(linux kernel)与用户空间,而真正的linux操作系统,是指linux内核,我们常用的ubuntu、centos等操作系统其实是不同厂商在linux内核基础上添加自己的软件与工具集(tools)形成的发布版本(linux distribution)。
因此,我们也可以把镜像看成是上面所说的用户空间,当docker通过镜像创建一个容器时,就是将镜像定义好的用户空间作为独立隔离的进程运行在宿主机的linux内核之上。
这里要强调一下镜像的两个特征:
1、镜像是分层(layer)的:即一个镜像可以多个中间层组成,多个镜像可以共享同一中间层,我们也可以通过在镜像添加多一层来生成一个新的镜像。
2、镜像是只读的(read-only):镜像在构建完成之后,便不可以再修改,而上面我们所说的添加一层构建新的镜像,这中间实际是通过创建一个临时的容器,在容器上增加或删除文件,从而形成新的镜像,因为容器是可以动态改变的。
什么是仓库
仓库(repository)是集中存储镜像的地方,这里有个概念要区分一下,那就是仓库与仓库服务器(registry)是两回事,比如docker hub,就是docker官方提供的一个仓库服务器,不过有时候我们不太需要太过区分这两个概念。
推荐教程:docker教程
以上就是docker的镜像和仓库是什么的详细内容。