Docker镜像基础知识

Docker 镜像

概念

镜像由多个层组成,每层叠加之后,从外部看来就如一个独立的对象,镜像内部是一个精简的OS,同时还包含应用运行所必须的文件和依赖包,因为容器的设计初衷就是快速和小巧,所以镜像通常都比较小。镜像可以理解为一种构建时(build-time)结构,而容器可以理解为是一种运行时(run-time)结构
​ Docker镜像由一些松耦合的只读镜像层组成,采用docker pull imageName:tag ,可以看出以Pull complete结尾的每一行都是一个镜像层。可以采用docker image inspect查看到Layers信息。

$ docker image ls inspect centos:7
 "Layers": [
                "sha256:d69483a6face4499acb974449d1303591fcbb5cdce5420f36f8a6607bda11854"
            ]

​ 所有的Docker镜像都起始于一个基础镜像层,当进行修改或者增加新的内容时,就会在当前镜像层之上,创建新的镜像层,比如,一个centos:7的镜像,添加了Python包,那么就会在基础镜像层上添加一个镜像层,比如再打了一个安全补丁,又会创建一个新的镜像层。

  • Docker镜像含有启动容器所需要的文件系统 及其内容,因此,其用于创建并启动docker容器。
    • 采用分层构建机制,最底层为bootfs,其之为rootfs
      1. bootfs: 用于系统引导的文件系统,包括BootLoader和Kernel,容器启动完成后会被卸载以节约内存资源。
      2. rootfs: 位于bootfs之上,表现为docker容器的跟文件系统。
        • 传统模式中,系统启动时,内核挂载rootfs时会首先将其挂载为"只读"模式,完整性自检完成后将其重新挂载为读写模式。
        • docker中,rootfs由内核挂载为“只读”模式,而后通过“联合挂载”技术额外增加一个“可写层”;
  • 位于下层的镜像称为父镜像(parent image),最底层的称为基础镜像(base ima
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值