Docker中的镜像和容器的区别

要求:首先需要一个远程登录软件,还需要一台安装好Docker的虚机,这些可以找相关人员去要。

在学习的过程中,要时刻注意自己操作的是镜像还是容器。

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

        

可以理解的是:Docker镜像毕竟是镜像,属于静态的内容;而Docker容器就不一样了,容器属于动态的内容。动态的内容,大家很容易联想到进程,内存,CPU等之类的东西。的确,Docker容器作为动态的内容,都会包含这些。

 docker 的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。(  docker create <image -id > :为指定的镜像添加一个可读写层,构成一个新的容器;)

例如:一个镜像可以包含一个完整的ubuntu操作系统环境,里面仅安装了mysql或用户需要的其他应用程序。

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

docker提供了一个很简单的机制来创建镜像或更新现有的镜像。用户甚至可以从其他人那里下载一个已经做好的镜像直接使用。(镜像是只读的,可以理解为静态文件)

      docker利用容器来运行应用:docker容器是由docker镜像创建的运行实例。docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

  相对于镜像来说容器是动态的,容器在启动的时候创建了一层可写层次作为最上层。(   docker create <image -id > :为指定的镜像添加一个可读写层,构成一个新的容器;)

转载于:https://blog.csdn.net/shenmerenya/article/details/78522206

猜你喜欢

转载自blog.csdn.net/yinni11/article/details/81104150