为什么 docker run busybox 超时不起作用?

为什么 docker run busybox 超时不起作用?

我正在尝试制作一个脚本来使用 busybox 快速测试 docker 内部的网络连接是否正常工作。

所有这些测试在 5 秒后都未能超时(它们花了 30 秒才超时):

docker run busybox wget -T 5 google.com
docker run busybox timeout 5 wget google.com
timeout 5 docker run busybox wget google.com

唯一有效的就是以交互方式进入 busybox。 5秒后确实成功终止。但我试图以编程方式而不是交互方式来完成此操作。

docker run -it busybox

/ # timeout 5 wget google.com
Terminated

为什么超时在交互式 shell 中起作用,但在非交互 shell 中不起作用?

我正在 Ubuntu 18:04 虚拟机上运行。

答案1

这有效:使用-s9发送 SIGKILL。

timeout -s9 5 docker run busybox wget google.com

相关内容