Docker 基础技术:Linux Namespace(下)
在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD、IPC、PID、Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像。在这一篇中,主要想向大家介绍Linux的User和Network的Namespace。 好,下面我们就介绍一下还剩下的这两个Namespace。 User Namespace User Namespace主要是用了CLONE_NEWUSER的参数。使用了这个参数后,内部看到的UID和GID已经与外部不同了,默认显示为65534。那是因为容器找不到其真正的UID所以,设置上了最大的UID(其设置定义在/proc/sys/kernel/overflowuid)。 要把容器中的uid和真实系统的uid给映射在一起,需要修改 /proc//uid_map 和/proc//gid_map 这两个文件。这两个文件的格式为: ID-inside-ns ID-outside-ns length 其中: 第一个字段ID-inside-ns表示在容器显示的UID或GID, 第二个字段ID-outside-ns表示容器外映射...