Docker 镜像原理(commit、容器数据卷)

发布时间 2023-05-24 14:22:29作者: by1314

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:是一个双向同步的过程,修改以后不用进入容器修改可以在容器外修改