dokcer 镜像原理
联合文件系统(UnionFS)
理解:假设:docker 中包含的 tomcat 和 mysql 均需要使用 linux 内核,这里使用的 linux 内核是共用的。
下载时候看到的一层层就是这个,Docker 镜像实际是由一层一层的文件系统组成
联合文件系统时 Docker 镜像的基础,镜像通过分层来进行继承
特性:一次同时加载多个文件系统,但外面看起来这只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录
docker 镜像默认是只读的。当容器启动的时候一个新的可写层被加载到镜像的顶部,这一层就是我们说的容器层,容器之下都是镜像
commit 镜像
docker commit #提交容器成为一个新的副本
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
如果你想要保存当前的状态,就可以通过 commit来提交,获得一个镜像,理解为快照
容器数据卷
容器之间可以数据共享的技术,数据可持久化****且同步存储到本地
使用数据卷
- 使用命令挂载 -v
docker run -it -v 主机目录:容器内目录
docker inspect 容器id #来验证是否挂载成功
ps:是一个双向同步的过程,修改以后不用进入容器修改可以在容器外修改