Docker的镜像是一个模板,或者说其是一个只读的文件。在该模板中包含应用程序和应用程序运行时所需要的依赖环境。Docker的镜像采用的是分层的文件系统,每一次对镜像的修改将以读写层的形式增加到原来的只读文件的模板上。
视频讲解如下:
下图展示了Docker镜像的分层结构。
下面从下向上介绍。
- 内核bootfs:用来加载Linux的内核以启动Linux环境。作为Docker的用户来说不会与这一层直接打交道。
- 根镜像:可以将其理解成是操作系统,上图中的根镜像使用的是CentOS。
- 在根镜像之上(或者说在操作系统之上)就是叠加的每一层应用,如上图中的MySQL、Tomcat等。
另外,在物理存储上,镜像的本质其实是磁盘上一系列文件的集合,如上图所示。
Docker默认的镜像存储路径是“/var/lib/docker”,也可以自定义其他路径。