docker 镜像/容器

docker 镜像/容器

根据镜像启动容器,并进入容器:

docker run -it --privileged --entrypoint bash 镜像名

 

特性Docker 镜像Docker 容器
本质 只读的模板或快照。包含创建容器所需的文件和元数据。 镜像的运行实例。是一个可写的、隔离的进程环境。
状态 静态的、不可变的。一旦创建,内容就不会改变。 动态的、有状态的。可以被启动、停止、删除,其内部状态会改变。
存储 由一系列只读层组成,通过联合文件系统叠加。 在镜像的只读层之上,添加一个可写的容器层。
创建方式 通过 docker build 命令,根据 Dockerfile 构建。 通过 docker run 命令,从镜像启动。一个镜像可以创建多个容器。
持久性 镜像本身是持久的,删除容器不会影响镜像。 默认情况下,容器停止后,其可写层的数据会随容器删除而丢失(需用卷来持久化)。
类比 面向对象中的“类” 或 安装程序的 .iso 文件。 由类 new 出来的“对象” 或 安装好并正在运行的操作系统。

总结:

动作影响对象说明
docker build -t my-image . 镜像 根据当前目录的 Dockerfile 创建一个名为 my-image 的镜像。
docker run -d --name my-container my-image 容器 从 my-image 镜像创建并启动一个名为 my-container 的容器。
docker rmi my-image 镜像 删除名为 my-image 的镜像(如果已有容器基于它,需先删除容器)。
docker rm my-container 容器 删除名为 my-container 的容器(其上的可写层数据会丢失)。