Namespace
特定のプロセスに対して他のプロセスからの分離を提供し、その範囲は Namespce 内に限定
=> 複数のアプリケーションを実行可能
table:名前空間
プロセス ID コンテナ単位でプロセス ID 空間を保持
ネットワーク コンテナ単位でネットワークインタフェース、ポート番号等のネットワークスタックを保持
プロセス間通信(IPC) コンテナ単位で共有メモリやセマフォといった、 System V IPC リソース空間を保持
マウント すべてのコンテナは独自の隔離されたルートファイルシステムを取得
ホスト名 UTS 名前空間を使用して、各コンテナに独自のホスト名を提供
ユーザ コンテナ内のユーザを Linux ホスト上の異なるユーザにマッピング可能
Docker
/proc/PID/ns
code:shell
# ll /proc/$(docker inspect --format='\{\{.State.Pid\}\}' 7cb633b15bc2 )/ns/
合計 0
lrwxrwxrwx 1 root root 0 3月 17 15:37 ipc -> ipc:4026532171 lrwxrwxrwx 1 root root 0 3月 16 11:13 mnt -> mnt:4026532169 lrwxrwxrwx 1 root root 0 3月 16 11:13 net -> net:4026532174 lrwxrwxrwx 1 root root 0 3月 17 15:37 pid -> pid:4026532172 lrwxrwxrwx 1 root root 0 3月 17 15:37 user -> user:4026531837 lrwxrwxrwx 1 root root 0 3月 17 15:37 uts -> uts:4026532170 グローバルな名前空間とは別の OS リソースが割り当てられている
=> Linux Namespace