Docker(一)之核心技术
2021-10-31 23:39:39 0 举报
AI智能生成
Docker 核心技术理解
作者其他创作
大纲/内容
一种操作系统层面的虚拟化技术
演进
是什么 docker?
为什么用 docker?
启动&停止
查看容器细节
进入容器
拷贝文件至容器内
查看硬件使用情况
怎么用 docker?
定义:容器就是一个视图隔离、资源可限制、独立文件系统的进程集合
进程间可相互通信
使用相同文件系统
进程共享系统资源
操作系统管理进程的三个特点
高级进程可攻击其他进程
高级进程可破坏其他进程的文件读写
资源抢占问题
造成的问题
使用 Namespace 达到进程在资源系统上的隔离
通过 Cgroup 限制资源使用率
使用 chroot 系统调用达到视图级别的隔离
解决:为进程提供一个独立的运行环境
什么是容器?
库:存储镜像的目录
定义:容器运行时所需要的所有文件集合
提高分发效率,分层结构可并行下载
提高构建效率,在镜像中加入特有文件集合就可以运行
节约磁盘空间,共享只读层
镜像的优势
Image Service - 镜像
Runtime Service
容器状态
安全性
隔离性
便携性
可配额/可度量
主要特性
cat Dockerfile
将Dockerfile打包成镜像
运行容器
构建容器
容器
虚拟机运行态
容器运行态
虚拟机和容器运行态的对比
基础知识
代码实现
clone
unshare
setns
Linux 新建&修改 Namespace
查看当前系统的 namespace
查看某进程的 namespace
进入某 namespace 运行命令
练习
常用 Namespance 命令
Namespace 类型
资源隔离- Namespace
cpu 子系统 - CPU 配置情况
cpuacct 子系统 - CPU 使用情况
管理可压缩资源
memory 子系统
管理不可压缩资源
Cgroups 子系统
资源配额&度量 - Cgroups
Linux 文件加载
容器存储驱动
OverlayFS 存储驱动
Docker 文件加载
写时复制
用时分配
写操作
文件系统 -Union FS
Null (--net=None)
Host
Container
Bridge(--net=bridge)
Underlay
Remote(work with remote drivers)
网络
内部实现
Docker 核心技术 PDF - 极客时间
Docker 官网
Github Docker 源码
参考资料
Docker 核心技术
0 条评论
下一页