docker run busybox timeout이 작동하지 않는 이유는 무엇입니까?

docker run busybox timeout이 작동하지 않는 이유는 무엇입니까?

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

대화형 셸에서는 시간 초과가 작동하지만 비대화형 셸에서는 작동하지 않는 이유는 무엇입니까?

저는 Ubuntu 18:04 가상 머신에서 실행 중입니다.

답변1

이것은 작동합니다: -s9SIGKILL을 사용하여 보냅니다.

timeout -s9 5 docker run busybox wget google.com

관련 정보