Docker container与宿主进程相互隔离的实现原理
生活随笔
收集整理的這篇文章主要介紹了
Docker container与宿主进程相互隔离的实现原理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
我們都知道在Docker container里運行ps命令是看不到宿主機上運行的進程的。這種程度的隔離是通過什么方式實現(xiàn)的呢?
答案是Linux內(nèi)部命令unshare。
我第一次執(zhí)行命令unshare /bin/bash,然后再執(zhí)行ps -ef --forest,發(fā)現(xiàn)通過unshare命令fork的新的進程里,因為其pid和父進程pid的namespace相同,因此ps -ef的結果和在父進程上執(zhí)行相同。
下面我還是執(zhí)行unshare,不過加上參數(shù):
unshare --pid --mount-proc --fork /bin/bash
這樣從namespace級別進行了父進程和fork出的子進程的隔離。現(xiàn)在我在子進程里再執(zhí)行ps -ef --forest, 從結果能發(fā)現(xiàn)確實只能看到子進程本身的bash和ps進程了。
總結
以上是生活随笔為你收集整理的Docker container与宿主进程相互隔离的实现原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新确认:小米13 Ultra用上了US
- 下一篇: 使用describe命令进行Kubern