容器底层实现技术Namespace/Cgroup
生活随笔
收集整理的這篇文章主要介紹了
容器底层实现技术Namespace/Cgroup
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Docker容器實現原理
??? Docker容器在實現上是通過namespace技術來進行進程隔離,通過cgroup技術實現容器進程可用資源的限制,當docker啟動一個容器時,實際是創建了多了namespace參數的進程。
?
Namespace
?
Namespace:命名空間
????作用:資源隔離
????原理:namespace將內核的全局資源進行封裝,使得每個namespace都有一份獨立的資源,因此不同進程在各自namespace內對同一種資源使用不會相互干擾
?
?
Cgroups
Cgroups:Linux Control Group
????作用:限制一個進程對系統資源的使用上限,包括CPU,內存,Block,I/O等
??????????? Cgroups還能設置進程優先級,對進程進行掛起和恢復操作。
原理:將一組進程放在一個Cgroup中,通過給這個Cgroup分配指定的可用資源,達到控制這一組進程可用的目的,
????實現:再Linux中,Cgroup以文件和目錄的方式組織在操作系統的/sys/fs/cgroup路徑下,該路徑中所有的資源種類均可被cgroup限制。
CPU資源限制
?
內存資源限制
?
容器可以使用的內存資源包括內存這swap資源
BlockIO限制
?
總結
以上是生活随笔為你收集整理的容器底层实现技术Namespace/Cgroup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置文件bashrc与profile的区
- 下一篇: shell自动化巡检