我有一个简单的shell脚本,该脚本使用tc-netem软件包生成延迟,抖动和数据包丢失。您可以检查脚本here。我的想法是,我想将其放入容器中并使用别名在主机上执行。类似于:echo "alias netsim="sudo docker run -v=
pwd :/home/netsim/ docker-image"" >> ~/.bashrc
,然后当我在主机上运行netsim要求我提供所有用户输入时。容器也应该控制主机网络接口,我什至不确定这是否可行。到目前为止,我的Dockerfile如下:
FROM alpine:3.7
WORKDIR /home/netsim
RUN apk update && apk upgrade
COPY netsim.sh random_netsim.sh /home/netsim/
CMD chmod +x /home/netsim/netsim.sh && chmod +x /home/netsim/random_netsim.sh
我要这样做的原因是因为我的主机正在运行Ubuntu 18.04,并且在tc-netem版本中存在一个抖动生成错误。我当时想,如果我可以使用容器来做同样的事情,而无需重新编译/降级tc-netem版本,那将非常酷。