Docker笔记(6):镜像

本文详细介绍了Docker镜像的分层结构,包括引导文件系统bootfs和rootfs,以及镜像如何通过联合加载技术形成只读层。Docker镜像的每个层都有其ID,可以通过`docker history`查看。镜像的运行基于写时复制技术,容器层对文件的修改只影响顶层。此外,讨论了base镜像通常是精简版的Linux发行版,如Ubuntu、Centos,以及构建镜像的两种方式:`docker commit`和Dockerfile。Dockerfile是推荐的构建方式,而镜像缓存特性则提高了构建和下载效率。
摘要由CSDN通过智能技术生成

本地镜像都保存在 Docker宿主机的/var/lib/docker目录下。

1.镜像的分层结构

(1)分层结构

Docker镜像是由文件系统叠加而成,最底端是一个引导文件系统bootfs,这很像典型的 Linux/Unix的引导文件系统,Docker用户几乎永远不会和引导文件系统有什么交互。实际上,当容器启动后,引导文件系统则会被卸载,以留出更多的内存供initrd磁盘镜像使用。Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上。rootfs可以是一种或多种操作系统(如 Debian或者Ubuntu文件系统)。

img

在传统的 Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并完成了完整性检査之后,它才会被切换为读写模式。但是在Docker里,root文件系统永远只能是只读状态,并且Docker利用联合加载(union mount)技术又会在root文件系统层上加载更多的只读文件系统。联合加载指的是一次同时加载多个文件系统,但是在外面看起来只能看到一个文件系统。联合加载会将各层文件系统叠加到一起,这样最终的文件系统会包含所有底层的文件和目录。

Docker将这样的文件系统称为镜像,一个镜像可以放到另一个镜像的顶部。位于下面的镜像称为父镜像(parent image),可以依次类推,直到镜像栈的最底部,最底部的镜像称为基础镜像(base image&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值