现在容器技术非常火,尤其基于容器技术的docker,在linux中容器是怎么构建呢?都用了那些技术呢?
基本所有的容器都是基于linux下的namespace, chroot, cgroup等N年前已有的技术,我来扒一扒这个namespace。
Linux下的namespace有6中,分别为IPC,Network,User,Mount,PID, UTS。
怎么进入这些容器呢?
Network namespace:
ln -s /proc/<pid>/ns/net /var/run/netns/<namespace>
ip netns exec <namespace> ifconfig -a
Ref:
http://man7.org/linux/man-pages/man7/namespaces.7.html