# mydocker **Repository Path**: lcsolute/mydocker ## Basic Information - **Project Name**: mydocker - **Description**: 阅读 《自己动手写 docker》的笔记和代码 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-05-19 - **Last Updated**: 2022-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: Go语言, Docker ## README # UTS Namespace 主要用来隔离 nodename 和 domainname 两个系统标识。在 UTS Namespace 里面 , 每个 Namespace 允许有自己的 hostname。 ```bash pstree -pl # 查看一下系统中进程之间 的关系 echo $$ # 输出一下当前的 PID readlink /proc/1624128/ns/uts # 验证一下父进程和子进程是否不在同一个 UTSNamespace hostname -b bird # 修改 hostname为 bird ``` # IPC Namespace 用来隔离 System V IPC 和 POSIX message queues ```bash ipcs -q #查看现有的 ipc Message Queues ipcmk -Q # 创建 一 个 message queue ``` # PID Namespace 是用来隔离进程 ID的。 # MountNamespace 用来隔离各个进程看到的挂载点视图。在不同Namespace的进程中, 看 到的文件系统层次是不一样的。 ```bash ls /proc # 然后查看一下/proc 的文件内 容。 proc 是一个文件系统,提供额外的机制 , 可以通过内核和内核模块将信息发送给进程。 ```