Linux kernel namespace浅析

引言

在学习docker过程中进一步深度学习容器隔离技术,在docker之前Linux kernel提供了自带的容器技术namespace,本文简单介绍namespace的一些原理

Linux kernel namespace

Namespace是Linux kernel提供的资源隔离方案(Linux自带的容器技术)
系统可以为进程分配不同的namespace,并保证不同的namespace资源独立分配、不同的namespace下的进程互不干扰
Linuxkernel提供了Pid,Network,Ipc,Uts,Mount,usr等资源的隔离,每个Namespace下的这些资源对于其他Namespace是不可见的。一个进程可以同时属于多个Namespace,进程、namespace、Linux kernel关系大致如下
在这里插入图片描述


Pid

不同用户的进程就是通过 Pid namespace 隔离开的,且不同 namespace 中可以有相同 Pid。 有了 Pid namespace, 每个 namespace 中的 Pid 能够相互隔离。

Network

网络隔离是通过 net namespace 实现的, 每个 net namespace 有独立的 network devices, IP
addresses, IP routing tables, /proc/net 目录。
比如Doc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值