Docker基础详解!Docker中的镜像管理分析
【摘要】 本篇文章重点对Docker中的镜像管理方式进行详细的分析与讲解。分析说明了Docker中的镜像的构建机制和Docker镜像的层次结构。介绍了Linux系统中的联合挂载插件AUFS的使用和演变过程,最后介绍了Docker镜像的注册。
Docker Image
- Docker镜像中含有启动容器所需要的文件系统及其内容,用于创建并启动Docker容器
- 采用分层构建机制: 最底层为bootfs, 其次为rootfs
- bootfs: (lxc, aufs/btrfs,kernel)
- 用于系统引导的文件系统
- 包括bootloader和kernel
- 容器启动完成后会被卸载以节约内存资源
- rootfs: 位于bootfs之上,表现为Docker容器的根文件系统 (/dev, /proc, /bin, /etc, /usr, /tmp)
- 在传统模式中,系统启动之时,内核挂载rootfs时,会首先挂载为"只读"模式 ,完整性自检完成后重新挂载为读写模式
- 在Docker中,rootfs由内核挂载为"只读"模式,然后通过"联合挂载"技术额外挂载一个"可写"层
- bootfs: (lxc, aufs/btrfs,kernel)
Docker Image Layer
- 位于下层的镜像为父镜像parent image
- 最底层的为基础镜像base image
- 最上层为"可读写"层,下面都是"只读"层
Aufs
- aufs: advanced multi-layered unification filesystem,高级多层统一文件系统
- 用于为Linux文件系统实现 "联合挂载"
- aufs是UnionFS的重新实现
- Docker最初使用aufs作为容器文件系统层,目前作为存储后端之一来支持
- Docker的分层镜像,在aufs之外还支持btrfs,devicemapper和vfs等
- 在Ubuntu系统下,Docker默认使用Ubuntu的aufs
- 在CentOS7下,Docker使用的是devicemapper
目前,overlayfs逐渐代替了aufs,overlayfs从3.18版本开始合并到Linux内核中
Docker Registry
- 启动容器时 ,Docker Daemon会从本地获取相关镜像
- 本地镜像不存在时,就从Registry中下载该镜像并保存到本地
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)