Docker基础详解!Docker中的镜像管理分析

攻城狮Chova 发表于 2022/05/19 11:45:38 2022/05/19
【摘要】 本篇文章重点对Docker中的镜像管理方式进行详细的分析与讲解。分析说明了Docker中的镜像的构建机制和Docker镜像的层次结构。介绍了Linux系统中的联合挂载插件AUFS的使用和演变过程,最后介绍了Docker镜像的注册。

Docker Image

  • Docker镜像中含有启动容器所需要的文件系统及其内容,用于创建并启动Docker容器
  • 采用分层构建机制: 最底层为bootfs, 其次为rootfs
    • bootfs: (lxc, aufs/btrfs,kernel)
      • 用于系统引导的文件系统
      • 包括bootloaderkernel
      • 容器启动完成后会被卸载以节约内存资源
    • rootfs: 位于bootfs之上,表现为Docker容器的根文件系统 (/dev, /proc, /bin, /etc, /usr, /tmp)
      • 在传统模式中,系统启动之时,内核挂载rootfs时,会首先挂载为"只读"模式 ,完整性自检完成后重新挂载为读写模式
      • 在Docker中,rootfs由内核挂载为"只读"模式,然后通过"联合挂载"技术额外挂载一个"可写"层

Docker Image Layer

在这里插入图片描述

  • 位于下层的镜像为父镜像parent image
  • 最底层的为基础镜像base image
  • 最上层为"可读写"层,下面都是"只读"层

Aufs

  • aufs: advanced multi-layered unification filesystem,高级多层统一文件系统
  • 用于为Linux文件系统实现 "联合挂载"
  • aufsUnionFS的重新实现
  • Docker最初使用aufs作为容器文件系统层,目前作为存储后端之一来支持
  • Docker的分层镜像,在aufs之外还支持btrfs,devicemappervfs
    • 在Ubuntu系统下,Docker默认使用Ubuntu的aufs
    • 在CentOS7下,Docker使用的是devicemapper

目前,overlayfs逐渐代替了aufs,overlayfs从3.18版本开始合并到Linux内核中

Docker Registry

  • 启动容器时 ,Docker Daemon会从本地获取相关镜像
  • 本地镜像不存在时,就从Registry中下载该镜像并保存到本地
    -
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。