现在容器运行时已经很多,有些原理差别大了,以最熟悉的dcoker为列,特殊的特别了解
容器的组成
control-group + namespace + image
namespace 的种类
- mount, 2. uts, 3. pid, 4. network, 5. user, 6. ipc, 7. cgroup
namespace
cgroup类型:
两种驱动:systemd cgroup driver, cgroupfs cgroup driver
cgroup类型: cpu cpuset cpuacct, memory, device, freezer, blkio, pid, net_cls, net_ prio, hugetlb, perf-event, rdma
image 原理
分层文件系统或联合文件系统,有mergedir, workdir, upper层,lower层的概念,
mergedir:整合lower层和upper层显示一个完整的文件系统视图
upper: 容器读写层
workdir: 写入会保存到upper层
lower:镜像层,不会改变
知名的运行时
docker, RTK, firecracker, kata-containers / runtime, google / gvisor, podman
网友评论