dockerfile-镜像分层机制

镜像分层存储机制:

docker在底层想存储一个镜像是分层存储的,即镜像由运行构建镜像的dockerfile文件中的指令制作,并且运行指令时会在磁盘产生内容,其他镜像在构建时遇到相同指令产生的内容不再占用磁盘空间而是直接使用已有指令产生的磁盘内容。如果是相同镜像的多个容器实例时,这多个容器实例都只用一个镜像在磁盘产生的内容,只有对容器修改的内容不同即单独成为各自的容器层,即各个独立的容器在磁盘存储不是完全独立的,相同的已经在磁盘存在的内容不会再去存储一份而是各个容器共用,避免占用空间浪费,各个容器或镜像不同的部分再单独存储。。。。(理解的不太到位)

例子:

官方镜像nginx和自己制作的镜像nginx比较:

1.docker image history 镜像名称查看镜像的历史即构建镜像的dockerfile文件比较镜像不同:

2.docker image inspect 镜像名称查看镜像的详情比较镜像不同:

3.docker ps -s展示启动容器的总文件大小比较容器:

容器与镜像存储机制:

镜像不删,镜像的基础数据就还在磁盘里边,容器一删,对镜像的修改内容即容器层就会被删除

启动容器把数据挂载到主机原因:

删除容器就是删除了容器层,对镜像的修改操作数据从磁盘被删除,则容器数据丢失,所以将修改数据挂载到主机,在删除了容器即删除容器层之后,容器层的修改数据已被复制一份挂载到主机在磁盘不会丢失

docker常用命令:

docker image history 镜像名称:查询镜像的历史,即查询该镜像的dockerfile文件指令以及指令运行产生的内容

docker image inspect 镜像名称:查询镜像详情

相关推荐
大耳朵爱学习9 分钟前
Andrew Ng深度解析:普通人如何利用AI把想法变成工具,实现工作自动化(小白程序员必看)
运维·人工智能·ai·自动化·大模型·就业·大模型学习
木雷坞10 分钟前
AnythingLLM Docker部署:中文资料上传后无引用的检查路径
运维·docker·容器
张赐荣11 分钟前
争渡读屏OCR文字/图像识别插件接口功能实现详解
运维·服务器·ocr
中科三方12 分钟前
AI时代新攻击面:悬空DNS记录正在成为黑客的低成本入侵入口
服务器·前端·人工智能
bu_shuo15 分钟前
删除Windows资源管理器左侧【此电脑】的Linux企鹅图标
linux·windows
步行cgn16 分钟前
Spring MVC 删除功能:用隐藏表单模拟 DELETE 请求的完整解析
linux·运维·服务器
润滑卫士23 分钟前
工业油液在线监测系统架构:传感网络、数据采集与通讯协议设计
运维
红红谈说35 分钟前
定时发布关机就停,本地定时任务的补跑策略怎么设计?
运维·服务器·定时任务·本地调度·补跑策略·幂等互斥·执行记录
宁波阿成44 分钟前
CentOS 7 环境下 Tomcat 8.5 升级至 9.0.123 操作总结
linux·centos·tomcat
4SAPI1 小时前
企业级大模型工作流基础设施选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
运维·人工智能·架构·自动化