0
点赞
收藏
分享

微信扫一扫

docker镜像和容器

胡桑_b06e 2022-03-17 阅读 79

镜像类似程序文件是静态的,容器相当于进程是动态的。 通俗的讲,可以将 Docker镜像理解为包含应用程序以及其相关依赖的一个基础文件系统 ,在Docker容器启动的过程中,它以只读的方式被用于创建容器的运行环境。 Docker镜像其实是由基于UnionFS文件系统的一组镜像层依次挂载而得,而每个镜像层包含的其实是对上一镜像层的修改,这些修改其实是发生在容器运行的过程中的。 所以,也可以反过来理解,镜像是对容器运行环境进行持久化存储的结果。 与其他虚拟机镜像管理不同,Docker将镜像管理纳入到了自身设计之中,也即所有的Docker镜像都是按照Docker所设定的逻辑打包的,也是受到Docker Engine所控制的。

  docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository);

        如下图所示,容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象。

也可以说镜像是文件, 容器是进程。 容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等等...

docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository)。

下面我们就来看一下docker的镜像与容器之间的区别:

docker的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

docker镜像实际上是由一层一层的系统文件组成,这种层级的文件系统被称为UnionFS( Union file system 统一文件系统),镜像可以基于dockerfile构建,dockerfile是一个描述文件,里面包含了若干条密令,每条命令都会对基础文件系统创建新的层次结构。

docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。docker容器类似虚拟机,可以执行包含启动,停止,删除等。

每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

举报

相关推荐

0 条评论