【问题标题】:Simulate network request timeout between docker containers模拟 docker 容器之间的网络请求超时
【发布时间】:2020-02-29 20:51:14
【问题描述】:

我的桌面上运行了 2 个 docker 容器(Java 应用程序和 RabbitMQ)。我想模拟 Java 应用程序无法连接 RabbitMQ 的情况(但我不想停止 RabbitMQ)。 我发现可能可以使用这样的命令 sudo iptables -A INPUT -p tcp --destination-port 5672 -j DROP

但是对于 MacOS,我需要一个类比。或者另一种方式来断开 2 个 docker 容器之间的连接。

【问题讨论】:

    标签: macos docker connection timeout


    【解决方案1】:

    Docker 不在 MacOS 上运行,而是在 MacOS 上运行的 Linux VM 中运行。因此,您可以在该 VM 上执行命令。我使用的常见网络调试映像是 nicolaka/netshoot(您可以在 github repo 中查看有关包含的实用程序和示例用法的更多信息)。

    对于嵌入式 Linux VM 上的 iptables,您可以运行以下命令:

    docker run --rm --net host --privileged nicolaka/netshoot iptables ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多