Docker镜像

Docker的镜像从面向对象的角度上看,更类似于class,而容器则是通过它创建的对象

Docker生态圈存在大量的镜像仓库,当然最知名的还是 https://hub.docker.com/

我们知道 docker image 是分层的,例如以下Nginx镜像

我们在 Docker和虚拟机的区别 中提到过,容器会覆盖掉Linux宿主机的rootfs层

从而在宿主机之上构建出虚拟的 Ubuntu、CentOS、Busybox、CoreOS 等环境

其中使用的原理是 copy-on-write,

容器层叫做可写层,容器层之下都叫做镜像层

所有对容器的改动,无论添加、读写还是删除,都只会发生在容器层中,只有容器层是可写的,容器层之下的镜像层都是只读的

  • 写入、删除操作时,直接在容器层进行操作
  • 读取操作时,docker会从上至下一次查找此文件,一旦找到就直接读取

Send a Message