在 Docker 中,namespace 是壹種 Linux 內核功能,用於隔離系統資源,以便容器可以在相對獨立的環境中運行。
Docker 使用了多個 namespace,包括:
PID namespace:每個容器都有自己的 PID 命名空間,這意味著每個容器中的進程在該命名空間中具有唯壹的進程 ID。
Network namespace:每個容器都有自己的網絡命名空間,這意味著每個容器都有自己的 IP 地址、網絡接口、路由表和 iptables 規則,從而實現容器網絡的隔離。
Mount namespace:每個容器都有自己的 mount 命名空間,這意味著每個容器可以獨立地掛載文件系統,不會影響宿主機或其他容器的文件系統。
UTS namespace:每個容器都有自己的 UTS 命名空間,這意味著每個容器可以擁有自己的主機名和域名。
IPC namespace:每個容器都有自己的 IPC 命名空間,這意味著每個容器都可以獨立地使用進程間通信(IPC)機制,如***享內存和信號量,而不會影響宿主機或其他容器。
通過這些 namespace 的隔離,Docker 可以實現容器之間的資源隔離和安全隔離,防止容器之間的幹擾和攻擊。
通過這些 namespace 的隔離,Docker 可以實現容器之間的資源隔離和安全隔離,防止容器之間的幹擾和攻擊。