为什么容器的尺寸和图像尺寸相同?

时间:2016-03-25 03:41:28

标签: docker

码头工人glossary

  

Docker容器由

组成      
      
  • Docker镜像

  •   
  • 执行环境

  •   
  • 一套标准说明

  •   

当我输入docker images时,我会在SIZE的{​​{1}}列中看到324.2 MB。

当我输入mysql:5.6时,此命令告诉我由docker ps -s -a创建的容器大小也是324.2 MB。

这是否意味着docker run mysql:5.6 -dExecution environment不占用任何磁盘空间?

或他们使用的磁盘空间小于0.1 MB?

A standard set of instructions只列出容器图像的大小?

1 个答案:

答案 0 :(得分:1)

由于copy-on-write机制,容器的大小为......最初为0.

意思是,您可以启动100个容器,然后不会占用图像大小的100倍。他们将共享图像提出的文件系统 然后,在容器生命周期内完成的任何修改都将写入一个新图层,每个图像一个。

请参阅" Understand images, containers, and storage drivers":

  

创建新容器时,在底层堆栈顶部添加一个新的,薄的可写层。此图层通常称为“容器图层”。

     

对正在运行的容器所做的所有更改(例如写入新文件,修改现有文件和删除文件)都将写入此可写容器层。下图显示了基于Ubuntu 15.04映像的容器。

https://docs.docker.com/engine/userguide/storagedriver/images/container-layers.jpg