netshoot 是开源的针对容器编排环境下,对容器网络进行 debug 的工具镜像。主要是用于 k8s 中,也可以用在有数私有化部署 swarm 中。

    在 LTS-7.3 及之后版本中镜像已包含在安装包内。

    对于容器内不存在相关工具的情况下可以使用该容器进行测试,其可以在已有 overlay 网络中建立单独的容器,也可以直接在host中使用,也可以使用其他容器的网络命名空间,如:

    docker run -it --net container:7dd11e5eee  localhost:5000/yddocker/netshoot:stable
    docker run -it --net host localhost:5000/yddocker/netshoot:stable
    docker service create --name perf-test-a --network perf-test localhost:5000/yddocker/netshoot:stable iperf -s -p 9999

    举例而言,比如da容器中没有dig命令,想要进行dig操作而又无网络进行安装,此时可以使用:

    docker run -it --net container:7dd11e5eee  localhost:5000/yddocker/netshoot:stable
    通过 ip a 确认网络命名空间一致,此时就可以使用 dig 命令了。