Docker的网络与容器资源的控制

docker的网络

docker网络模式主要分为四类

  • host:在这种模式下,新创建的容器不会获得自己的网络命名空间,而是与宿主机共享。这意味着容器会使用宿主机的 IP 地址和端口,并且宿主机的网络配置(如 iptables 规则)会影响容器。

  • Container:当docker创建一个镜像时会指定一个已存在的容器共享网络命名空间,即多个镜像使用同一个IP、端口范围(容器与宿主机/同模式的容器不可以相同的端口号)、路由、iptables规则等

  • none模式: 指每一个镜像都拥有一个独立的网络命名空间但是 none没有ip、网卡、端口,只有lo回环网卡,这种模式下容器无法访问网络。

  • bridge模式:这是Docker的默认模式 在 bridge 模式下,Docker 会创建一个名为 docker0 的虚拟网桥,并为每个新创建的容器分配一个唯一的网络命名空间。在每个网络命名空间内,Docker 会为容器创建一个虚拟网络接口,并将该接口连接到 docker0 网桥上。这样,容器就可以通过这个网桥与其他容器或宿主机上的服务进行通信。

指定容器的网络模式

指定host模式

host模式寄主机与容器共享IP、端口号,故不用指定端口号,我将搭建一台jellyfin来做演示 jellyfin的端口号默认是8096

docker run -d --name jellyfin1  --network=host  544d674913bc

在这里插入图片描述
查看容器IP

docker inspect a2da60ca9d96 |grep IPAddress

在这里插入图片描述
访问8096端口查看是否正常使用
在这里插入图片描述
jellyfin服务正常

指定Container模式

我将要搭建一个container模式的nginx容器nginx默认端口号是80

docker run -d --name nginx0 --network=container:a2da60ca9d96 nginx

这会分配与jellyfin使用同一个网络命名空间,jellyfin与寄主机同一个IP故访问宿主机80端口就能访问NGIXN主页。
在这里插入图片描述
在这里插入图片描述
这样不够直观,我将创建一个bridge模式的主机后再来演示

docker run -d --name j2  -P  jellyfin/jellyfin

默认bridge创建了一个jellyfin再创建一个nginx

在这里插入图片描述
查看容器的pid号

docker inspect -f '{{.State.Pid}}'

在这里插入图片描述

ll /proc/110497/ns

在这里插入图片描述
相同操作查看j2的net空间
在这里插入图片描述
可以看到net空间是相同的

指定bridge模式

bridge模式不用特别指定,他是docker的默认模式
在这里插入图片描述

Docker资源的控制

在Docker中,cgroups被用来实现容器的资源隔离和限制

CPU资源的限制

在docker 中每100000μs为一个CPU运行的周期,在创建容器时可以指定在一个周期内,cpu处理容器的时间是多少,如我想让在100000μs中有6000μs处理这个容器可以如下设置 就是占用cpu百分之6

docker run -itd --name test1 --cpu-quota 6000 centos:7 /bin/bash

在这里插入图片描述
进入容器,编写测试脚本

#!/bin/bash
i=0
while true
do
let i++
done

运行测试脚本,测试CPU使用率
在这里插入图片描述
可以看到容器占用CPU为6%

对内存使用的限制

使用 -m 来限制容器对内存的使用大小

docker -itd --name test2 -m 256M centos:7 /bin/bash

在这里插入图片描述

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值