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教學欄位。
以上是docker可以隔離資源嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!