IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Linux Namespace

共 2 篇相关文章

IT 累计浏览 2,332

Docker基础技术:Linux Namespace(下)

这篇讲的是Docker底层Linux Namespace的后半部分,作者从上一篇的铺垫出发,聚焦在User Namespace和Network Namespace这两个关键能力上。对于User Namespace,文章不仅解释了容器内用户身份被重映射(默认为65534)的原理,还深入到了`/proc//uid_map`文件的三字段格式与写入规则,并附上一段完整的C代码示例,展示了如何通过父子进程协作与管道同步,在创建容器时完成从普通用户到容器内root的UID映射,以此提升安全性。在Network Namespace部分,文章通过一张经典的Docker宿主机网络示意图,说明了容器如何获得独立的网络栈,并提及了`docker0`网桥、`veth`虚拟网卡对以及容器默认使用的私有网段。整体内容硬核,将抽象的隔离机制与具体的文件操作、代码实现紧密结合,对于想深入理解容器安全与网络隔离根基的读者来说,是一篇扎实的进阶指南。

IT 累计浏览 3,390

Docker基础技术:Linux Namespace(上)

这篇讲的是Docker“新瓶装旧酒”背后的关键内核技术——Linux Namespace。作者从Docker并非全新技术切入,指出其核心是巧妙运用了已有的Linux内核能力,旨在带读者“山寨”一个简易Docker。 文章重点解析了Namespace提供的六种隔离机制,包括UTS(主机名)、IPC(进程间通信)、PID(进程ID)等。作者并未停留在概念罗列,而是通过一组清晰的C语言代码示例,一步步演示了如何使用`clone()`系统调用配合不同的`CLONE_NEW*`参数,来实现具体的隔离效果。例如,子进程在独立的UTS命名空间中修改hostname,不会影响宿主机;在独立的PID空间里,其初始进程会成为PID 1。 这种“上代码、看结果”的讲解方式,将抽象的“环境隔离”概念变得直观可感。对于想理解容器技术(不仅仅是Docker)底层原理的开发者而言,文章提供了从理论到动手验证的完整路径,是理解Linux容器化技术基石的实用入门。