blade create docker network
介绍
容器内网络实验场景,同基础资源的网络场景
命令
支持的网络场景命令如下:
blade create docker network delay
容器网络延迟,同 [blade create network delay](blade create network delay.md)blade create docker network loss
容器网络丢包,同 [blade create network loss](blade create network loss.md)blade create docker network dns
容器内域名访问异常,同 [blade create network dns](blade create network dns.md)
参数
除了上述基础场景各自所需的参数外,在 docker 环境下,还支持的参数如下:
案例
对 nginx 容器 80 端口做访问延迟 3 秒,执行命令如下:
第一次会拉取 chaosblade-tool 镜像,可能会慢一些。返回 {"code":200,"success":true,"result":"fc3a1b0b4295e47f"}
表示执行成功,可以看到新启动了一个名字为 5239e26f6329-delay 的容器,通过 sidecar 方式,复用目标容器网络,执行实验。
在本机访问该容器映射出的端口服务,比如映射的端口为 0.0.0.0:32768->80/tcp
,可以看出发生延迟:
此处延迟 9 秒的原因是涉及到多次 80 端口访问。
也可以在同一网段下的另外一台容器内访问目标容器的 80 服务,同样能验证效果:
执行以下命令可销毁实验:
启动的 sidecar 容器会被销毁,网络恢复。可以通过上述方法再次验证。
常见问题
Q:执行命令报错: {"code":604,"success":false,"error":"RTNETLINK answers: File exists\n exit status 2 exit status 1"} A:网络演练场景已存在,可以使用 docker ps | grep chaosblade
来查看正在运行的 sidecar 容器
Last updated