很多人没有意识Docker隔离性差,刚刚我就把主机干崩了

很多人没有意识Docker隔离性差,刚刚我就把主机干崩了

Docker的隔离性其实很差,容器之间是共享主机内核。早先的时候比较经典就是fork炸弹,非常简单,只需要在一个容器里面不停的fork子进程,就可以耗尽PID,导致主机上面无法启动新的进程了。后来Docker提供了max-pid后,这个问题得到了修复。

今天心血来潮想测试一个fd 的demo,因为fd 默认也是没有限制的,那如果耗尽fd,将会出现啥都干不了的情况。

# docker run --rm -it busybox sh
/ #
/ # f(){ f|f& };f
/ #

代码简单至极,我的docker版本已经很新了: 20.10.2。 内核版本是 4.18 。执行命令后会发现啥也操作不了了。不仅如此,整个主机都无法执行任何操作了。

. . .

. . .

只能关机重启机器。

这就解释了为啥公有云多租环境里面没法直接使用Docker,除了频繁爆出的CVE漏洞,本身在设计上使用namespace技术,无法做到彻底的隔离。

展开阅读全文

页面更新:2024-04-27

标签:主机   早先   不仅如此   心血来潮   内核   炸弹   容器   漏洞   频繁   进程   命令   意识   机器   版本   情况   简单   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top