Linux Namespaces 转载(Ed King)

Building Containers from Scratch in Go (github source code)    

netns - network namespaces in go (git hub source code)

how to build a container from scratch  

 

 

 

原文已不能打开,采用了Google cache

https://medium.com/@teddyking/linux-namespaces-850489d3ccf

Linux Namespaces

Linux Namespaces 转载(Ed King)

Ed King

Dec 10, 2016·3 min read

 

Linux namespaces comprise some of the fundamental technologies behind most modern-day container implementations. At a high level, they allow for isolation of global system resources between independent processes. For example, the PID namespace isolates the process ID number space. This means that two processes running on the same host can have the same PID!

This level of isolation is clearly useful in the world of containers. Without namespaces, a process running in container A could, for example, umount an important filesystem in container B, or change the hostname of container C, or remove a network interface from container D. By namespacing these resources, the process in container A isn’t even aware that the processes in containers B, C and D exist.

It follows that you can’t interfere with something if it’s not visible to you. And that’s really what namespaces provide - a way to limit what a process can see, to make it appear as though it’s the only process running on a host.

Note that namespaces do not restrict access to physical resources such as CPU, memory and disk. That access is metered and restricted by a kernel feature called ‘cgroups’.

上一篇:大数据-HDFS 集群搭建的配置文件


下一篇:PHP attributes() 函数