专栏名称: 高效运维
高效运维公众号由萧田国及朋友们维护,经常发布各种广为传播的优秀原创技术文章,关注运维转型,陪伴您的运维职业生涯,一起愉快滴发展。
目录
相关文章推荐
今天看啥  ›  专栏  ›  高效运维

如何用 100 行 Shell 脚本实现一个 Docker?看完这篇“大作”,我深受震撼!

高效运维  · 公众号  · 运维  · 2024-01-02 00:53
    

文章预览

本文主要介绍使用 shell 实现一个简易的 Docker。 一、目的 在初接触Docker的时候,我们必须要了解的几个概念就是Cgroup、Namespace、RootFs,如果本身对虚拟化的发展没有深入的了解,那么很难对这几个概念有深入的理解。 本文的目的就是通过在操作系统中以交互式的方式去理解,Cgroup/Namespace/Rootfs 到底实现了什么,能做到哪些事情,然后通过 shell 这种直观的命令行方式把我们的理解组合起来,去模仿 Docker 实现一个缩减的版本。 二、技术拆解 2.1 Namespace 2.1.1 简介 Linux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。学习过 Linux 的同学应该对 chroot 命令比较熟悉(通过修改根目录把用户限制在一个特定目录下),chroot 提供了一种简单的隔离模式:chroot 内部的文件系统无法访问外部的内容。Linux Namespace 在此基础上,提供了对 UTS、IPC、mount、PID、netw ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览