欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Docker的层级结构和应用隔离详解

程序员文章站 2022-08-21 15:31:14
首先我们来讨论docker镜像和docker容器的区别。docker的镜像是在docker仓库中开源的应用,是以分层的、可以被LXC/libcontainer理解的文件存储格式。docker应...

首先我们来讨论docker镜像和docker容器的区别。docker的镜像是在docker仓库中开源的应用,是以分层的、可以被LXC/libcontainer理解的文件存储格式。docker应用被发布到docker仓库中,形成了docker镜像,使用时只需从仓库中下载到本机,镜像在某种意义上来说是一个个应用的模板。而容器则指的是以镜像为基础,在虚拟机中运行你所需要的应用,这个启动的虚拟机就是容器,因为docker的分层机制,不同应用如果有部分或全部相同的运行环境,那么这些应用可以共享一个底层,而数据的产生和修改只在最上面的空白层中发生,所以容器有隔离不同应用的功能。

那我们如何对docker容器的状态修改或者版本更迭?因为docker容器层次有优先级,上层会覆盖掉底层的文件,所以docker容器会新增加一个空白层,在该层进行底层文件的增量修改,形成新的容器,也就是一个新的应用运行环境。我们也可以把这个镜像上传到docker仓库中,如果仓库中已经有上一个版本的镜像存在,那么只需要上传新增的层就可以了,这就是docker容器版本更迭的方式。