有必要在 Docker 中设置磁盘和带宽限制吗?
系统运维 2
问:有必要在 Docker 中设置磁盘和带宽限制?
答:如果没有限制,容器可能会消耗多余的磁盘空间,从而影响其他应用程序;在云原生环境服务一般都是混合部署,一个服务带宽超过限制,可能会影响其它服务的性能,虽然现在服务带宽都是百兆甚至千兆,但是不排除一些服务打满的风险,磁盘也是类似的;另外也会有一些安全风险,不受限制的使用会增加 DDoS 攻击或资源耗尽的风险。
同时设置也非常简单,将磁盘大小限制设置为 200GB,只需要修改/etc/docker/daemon.json,设置storage-opts选项即可。
带宽修改稍微复杂一点,需要修改/usr/local/bin/limit_bandwidth.sh,加个rate限速即可;
最后把这两项修改添加到docker service文件,重启服务即可!另外说了很多关于保证稳定性的话题和思考,感觉非常受用….
查询了一下,磁盘限制果然 是修改daemon.json,具体如下配置:{ “storage-driver”: “overlay2”, “storage-opts”: [ “overlay2.size=200G” ] }
带宽限制是修改 limit_bandwidth.sh
/bin/bash INTERFACE=$(docker inspect -f ” $(docker ps -q)) tc qdisc add dev $INTERFACE root tbf rate 20mbit burst 32kbit latency 400ms