Docker镜像操作
我们已经介绍了容器操作,今天来了解下 Docker镜像
以及 镜像操作
。让我们一起开启镜像之旅吧。
Docker镜像
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。
- docker镜像是由文件系统叠加而成,最底端是一个引导文件系统,即bootfs,这很像典型的linux的引导文件系统。
- docker将这样的文件系统成为镜像,一个镜像可以放在另一个镜像的顶部。位于下面的镜像成为父镜像。最底层的镜像称为基础镜像。最后,当从一个镜像启动容器时,docker会在该镜像的最顶层加载一个读写文件系统。我们想在docker中运行的程序就是在这个读写层中执行的
- 当docker第一次启动一个容器时,初始的读写层是空的,当文件系统发生变化时,这些变化都会应用到这一层上。比如,如果想修改一个文件,这个文件首先会从该读写层下面的只读层复制到该读写层。该文件的只读版本依然存在,但是已经被读写层中的该文件副本所隐藏。
- 通常这种机制被称为写时复制。每个镜像层都是只读不会变化的。当创建一个新容器时,docker会构建一个镜像栈,在栈的最顶端添加一个读写层。这个读写层再加上下面的只读镜像层,就构成了一个容器。容器是可以修改的,并且是可以启动和停止的