Docker----网络、CPU、内存、io资源控制
前言:
一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。 对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机;对于容器,Docker也提供了类似的机制避免某个容器因占用太多资源而影响其他容器乃至整个 host 的性能 。 Docker 基于 Linux 内核提供的 cgroups 功能,可以限制容器在运行时使用到的资源,比如内存、CPU、块 I/O、网络等。
一:Docker网络
1、Docker网络工作方式
安装Docker时,会自动创建三个网络:bridge(创建容器默认连接到此网络)、 none 、host。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j1oTN27x-1587118603749)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1587027998054.png)]](https://i-blog.csdnimg.cn/blog_migrate/bf0d8fb8d8306ea68e4c53d3ce4489a8.png)
[root@localhost ~]# docker network ls
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ugWWN4gd-1587118603752)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1587028461539.png)]](https://i-blog.csdnimg.cn/blog_migrate/362c80337d9a82b868a01eff825e6048.png)
2、bridge模式
在搭建好docker之后,通过ip add 或者 ifconfig命令就可以查看到,虚拟出一块叫做docker 0的一块网卡。 作为docker的默认网络模式,即bridge模式。其中的所有容器将docker0作为网关,这样就能与外界进行通信。
bridge模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上 。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YWCunVg0-1587118603753)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1587029011787.png)]](https://i-blog.csdnimg.cn/blog_migrate/119094d0804535e8cc8c19db88cabefc.png)
bridge模式是docker的默认网络模式,不写–net参数,就是bridge模式。使用docker run -p时,docker实际是在iptables做了DNAT规则,实现端口转发功能。可以使用iptables -t nat -vnL查看。
3、host模式
如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而

本文介绍了Docker的网络模式,包括bridge、host、none和container模式,并详细讲解了如何控制Docker容器的CPU使用率、内存限制以及指定CPU核心和I/O资源。通过实例展示了如何创建自定义网络、限制容器资源以及动态查看CPU使用情况。
最低0.47元/天 解锁文章
2142

被折叠的 条评论
为什么被折叠?



