docker可以隔離資源。
docker容器的本質是宿主機上的一個進程。
Docker通過namespace實現了資源隔離,通過cgroups實現了資源限制,通過*寫時復制機制(copy-on-write)*實現了高效的文件操作。
namespace 機制提供一種資源隔離方案。
PID,IPC,Network等系統資源不再試全局性的,而是屬于某個特定的Namespace.
每個namespace下的資源對于其他的namespace下的資源是透明的,不可見的。
Linux 內核實現namespace的一個主要目的就是實現輕量級虛擬化(容器)服務,在同一個namespace下的進程可以感知彼此的變化,而對外界的進程一無所知,以達到獨立和隔離的目的。
namespace(命名空間)可以隔離哪些:
文件系統需要是被隔離的
網絡也是需要被隔離的
進程間的通信也要被隔離
針對權限,用戶和用戶組也需要隔離
進程內的PID也需要與宿主機中的PID進行隔離
容器也要有自己的主機名
有了以上的隔離,我們認為一個容器可以與宿主機和其他容器是隔離開的。
恰巧Linux 的namespace可以做到這些。
更多相關教程,請關注PHP中文網docker教程欄目。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦