docker镜像到底是什么
发布时间 - 2021-12-08 00:00:00 点击率:次docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等);镜像不包含任何动态数据,其内容在构建之后也不会被改变。
本文操作环境:ubuntu 18.04系统、Docker 20.10.11版、Dell G3电脑。
docker镜像到底是什么?
先了解下什么是镜像:
我们都知道,操作系统分为 内核 和 用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:18.04 就包含了完整的一套 Ubuntu 18.04 最小系统的 root 文件系统。
Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。
分层存储
因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。
镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,
删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。因此,在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。
分层存储的特征还使得镜像的复用、定制变的更为容易。甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,以定制自己所需的内容,构建新的镜像。
关于镜像构建,将会在后续相关文章中做进一步的讲解。
推荐学习:《Docker视频教程》
# docker
# 镜像
# 文件系统
# 是一个
# 所需
# 包含了
# 不包含
# 操作系统
# 这一
# 将会
# 就不
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解Oracle修改字段类型方法总结
Laravel如何实现数据库事务?(DB Facade示例)
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
非常酷的网站设计制作软件,酷培ai教育官方网站?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
简单实现jsp分页
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel怎么调用外部API_Laravel Http Client客户端使用
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
如何在腾讯云服务器上快速搭建个人网站?
JS中对数组元素进行增删改移的方法总结
轻松掌握MySQL函数中的last_insert_id()
七夕网站制作视频,七夕大促活动怎么报名?
如何在局域网内绑定自建网站域名?
详解Android——蓝牙技术 带你实现终端间数据传输
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
C++用Dijkstra(迪杰斯特拉)算法求最短路径
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
魔方云NAT建站如何实现端口转发?
JS经典正则表达式笔试题汇总
Laravel如何配置任务调度?(Cron Job示例)
如何用PHP快速搭建高效网站?分步指南
Laravel怎么清理缓存_Laravel optimize clear命令详解
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
高防服务器租用如何选择配置与防御等级?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
移动端脚本框架Hammer.js
香港服务器租用每月最低只需15元?
如何在阿里云虚拟主机上快速搭建个人网站?
黑客入侵网站服务器的常见手法有哪些?
如何用VPS主机快速搭建个人网站?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
Python函数文档自动校验_规范解析【教程】
网站制作壁纸教程视频,电脑壁纸网站?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
js实现点击每个li节点,都弹出其文本值及修改
Android 常见的图片加载框架详细介绍
免费视频制作网站,更新又快又好的免费电影网站?
实例解析angularjs的filter过滤器
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
如何快速完成中国万网建站详细流程?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法

