对于docker自知道安装运行那是不行的,毕竟如今残酷的社会随便面试都问你某某源码有看过吗?所以我们有必要对docker进行深度学习。
首先我们知道docker基本就是三块大东西:容器,镜像,仓库
仓库我们就不说了基本和maven仓库雷同,主要就是存放镜像的仓库
容器也不怎么好说,因为他就是一个运行的镜像,所以归结起来都要到镜像这来,所以镜像是重头戏。
1、docker镜像是什么
官方解析:镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
UnionFS(联合文件系统):是一种分层,对文件系统的修改作为一次提交来一层层叠加,同是可以将不同的目录挂载到同一个虚拟文件系统下,一次可同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。
docker镜像就是以union为基础,所以docker镜像说白了就是一个分层叠加的文件系统(有点像git里面每次提交代码一次次迭代的形式,最终我们的正式版运行也是包含之前的修改)
2. Docker镜像加载原理
上面我们知道了docker镜像就是一层一层的文件,那每一层道理是什么呢??
我们都知道任何一款应用软件都要运行在系统上才可以,