Docker-镜像结构

一、镜像

  镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。从镜像的定义我们可以看出,镜像的结构无非就是将镜像所必须的全部按照某种结构来打包在一起。


在这里插入图片描述

二、镜像结构

  Docker的镜像结构是分层的,这种分层结构允许镜像共享公共的部分,从而节省存储空间,并使得镜像的构建、分发和部署更加高效
  也就是说我们构建镜像的每一个步骤都会被分成一层,这样的话我们可以把那些公共的层单独打包称一个镜像,这样的话再搭建其他的镜像时就可以直接在这个镜像的基础上添加特有的指令即可

在这里插入图片描述

三、镜像结构的特点

  分层结构:每一个Docker镜像都是由一系列层(Layers)构成的。每一层都代表了镜像构建过程中的一步,比如添加或修改文件。这种分层结构允许在不同镜像之间共享相同的层,从而节省存储空间。

  基础镜像层:Docker镜像通常基于一个基础镜像(Base Image),它是最底层,包含了操作系统的基础文件和配置。比如,许多镜像都是基于像Ubuntu、CentOS这样的Linux发行版的基础镜像构建的。

  镜像层叠加:在基础镜像之上,可以添加更多的层来定制应用。每一层都是对前一层的变化,比如安装软件包、配置文件等。这些层是叠加在一起的,形成了一个完整的文件系统。

  只读性:Docker镜像的层是只读的,一旦构建完成,就不能再修改。这意味着镜像可以被安全地共享和分发,而不会被意外地更改。

  联合文件系统:Docker使用联合文件系统(UnionFS)技术来合并镜像的层,并呈现为一个统一的文件系统。这允许Docker高效地管理和访问镜像的内容。

  可写容器层:当从镜像启动一个容器时,Docker会在镜像的顶层添加一个可写的容器层。这个容器层允许对文件系统进行修改,但这些修改不会影响到底层的镜像。当容器被删除时,这个可写层也会被删除,除非这些更改被提交为一个新的镜像层。

  镜像ID和摘要:每个镜像层都有一个唯一的ID和摘要,用于标识和验证层的完整性。这有助于确保镜像的一致性和安全性。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值