docker镜像管理基础

本文介绍了Docker镜像的基础知识,包括镜像的概念、分层机制和存储驱动。Docker镜像作为应用的容器,由bootfs和rootfs构成,采用分层构建,允许通过不同的存储驱动如AUFS、OverlayFS和DeviceMapper来实现。此外,文章还讨论了Docker Registry的作用和类型,以及如何制作Docker镜像。
摘要由CSDN通过智能技术生成

镜像的概念

  • 镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。
  • docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。
  • docker镜像采用分层构建机制,最底层为bootfs,其上为rootfs
  • bootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源
  • rootfs:位于bootfs之上,表现为docker容器的根文件系统
  • 传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读”模式,完整性自检完成后将其重新挂载为读写模式
  • docker中,rootfs由内核挂载为“只读”模式,而后通过“联合挂载”技术额外挂载一个“可写”层
    注意:当删除容器时,这个容器自有的“可写”层会一起被删除
    在这里插入图片描述

docker镜像层

在这里插入图片描述

  • 位于下层的镜像称为父镜像(parrent image),最底层的称为基础镜像(base image);最上层为“可读写”层,其下的均为“只读”层

docker存储驱动

docker提供了多种存储驱动来实现不同的方式存储镜像,下面是常用的几种存储驱动:

  • AUFS
  • OverlayFS
  • Devicemapper
  • Btrfs
  • VFS

AUFS
AUFS(AnotherUnionFS)是一种Union FS,是文件级的存储驱动。AUFS是一个能透明覆盖一个或多个现有文件系统的层状文件系统,把多层合并成文件系统的单层表示。简单来说就是支持将不同目录挂载到同一个虚拟文件系统下的文件系统。这种文件系统可以一层一层地叠加修改文件。无论底下有多少层都是只读的,只有最上层的文件系统是可写的。当需要修改一个文件时,AUFS创建该文件的一个副本,使用CoW将文件从只读层复制到可写层进行修改,结果也保存在可写层。在Docker中,底下的只读层就是image,可写层就是Container。

AUFS文件系统据说有3W行代码,而ext4文件系统却只有4000-5000行左右代码,这些代码是要被整合进内核的,后来AUFS申请要被合并进内核代码的时候,linuz觉得它这代码太过臃肿,于是拒绝了。因此AUFS这个文件系统一直以来就不是linux内核中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值