docker概念-容器运行时、容器、容器镜像及结构

1.什么是容器运行时呢?

容器运行时本质上是负责容器生命周期的核心工具,分为低层运行时(runc) 和高层运行时(containerd)。低层运行时直接调用内核创建隔离环境,高层运行时负责镜像管理、网络等完整功能。容器运行时给容器运行提供了必备的资源。

低层运行时是系统必备的,调整namespace,cgroup资源限制。

高层运行时针对容器的业务特征,进一步进行资源优化,高层运行时建立在底层运行时之上。

2.什么是容器镜像,结构是什么样的

它本质上是一个分层的归档包(常见就是 tar),里面装着容器运行需要的静态文件和元数据。镜像里最核心的东西,就是一个能直接当作容器"根目录"的 root 文件系统:应用代码、依赖库、配置文件都在里面,所以镜像一拉下来,容器就能按同样的环境跑起来。

Docker 镜像之所以高效,是因为它采用了分层机制来构建:每一层都是只读模板,通常对应 Dockerfile 里的一条指令(比如 RUNCOPY)。这样做的好处是层与层之间可以共享复用------多个镜像如果底层一样,就能共用同一批层,下载更快、存储更省、构建也更容易缓存。

按照 OCI 标准,镜像主要包含两块内容:

1)文件系统层(Rootfs):也就是容器看到的"根文件系统视图",和宿主机隔离,容器里的进程只看到自己的那套目录结构。

2)配置元数据(JSON):描述容器启动该怎么跑,比如默认启动命令、环境变量、工作目录、用户权限、安全相关配置等。常见关键文件包括:config.json(运行时配置)、manifest.json(描述层级结构与配置路径)、以及每层对应的 layer.tar(存放实际文件内容)。

总结:容器镜像就是一个按层打包的 root 文件系统 + 一份启动说明书(JSON 配置),让应用在任何机器上都能用一致的环境快速运行。

相关推荐
web守墓人23 分钟前
【goed/ui】自定义组件设计思想篇
linux·windows·ui·golang
码农学院27 分钟前
企业官网改版后 AI 引用归零的复盘:301 重定向断层让爬虫索引掉线,修复方案与恢复数据
运维·geo优化·ai优化aio
kuroomi43 分钟前
Ingress-Nginx与kubernetes 网络
linux·运维·网络·kubernetes
当下新鲜事1 小时前
空调机房冷冻泵与冷却泵技术分析:赛莱默B&G背包式智能变频管道泵的工程应用
运维·物联网·业界资讯
daemon.qiang1 小时前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
Doris__HE2 小时前
【元脑服务器NF5476G7-NF5476M7技术规格分享】
运维·服务器·网络·数据库·性能优化
2401_869769592 小时前
linux 权限 指令与权限(重启之后)
linux
码农客栈3 小时前
Linux CAN 驱动
linux·驱动开发
GeW4 小时前
红帽RHCE从挂科边缘到一次过,我做对了什么
linux
时空自由民.4 小时前
WSL解决USB 串口连接问题与linux串口权限问题
linux·单片机