1 Docker 分层
- Docker 运行容器时,会使用写时复制机制(copy-on-write)减少所需的硬盘空间。
- 当一个运行的容器需要写入一个文件时,将该文件复制到磁盘的一个新区域。
- 在执行Docker 提交时,将会把这块磁盘的区域冻结并记录为自身标识符的一个层。
在这里插入图片描述
Docker 分层能够大大提高容器的启动速度。
1.1 什么是写时复制
- 写时复制时计算机技术中使用的一种标准的优化策略。
- 从一个镜像创建一个新的容器时,当数据发生变化时才复制一一个层,而不是复制整个所需的数据集。
- 这样能够节省很多磁盘空间。
1.2 什么是层
-
层是指一些列变化的块的合集。
-
层是静态的,所以用户只需要在引用的镜像上构建。
-
以下图示说明了我们可以从公开可用的
node
镜像构建,并将变更的内容放在最上层。
-
上面的三层都可以被多个容器所共享,就像共享内存能够被多个进程访问。
-
这样可以再本地机器上启动多个不同的环境。能够运行更多的测试。