3

是否有可能启动 Docker 容器(在 CMD 中使用某些命令)并确保它不会停留超过指定的时间段?

例如,我有一个 Ubuntu 容器,我想启动它,执行一些命令并在最后退出(杀死容器)。但是这些命令可能包含无限循环或者可能只持续很长时间,所以我想确保 Docker 容器在指定的时间后自动终止。

4

1 回答 1

7

快速解决方法:

docker run -d --name busybox busybox:1.26.2-glibc  sleep 25; sleep 10; docker rm -f busybox

解释:

我正在运行一个busybox 容器并将其命名为busybox。在容器中,我正在运行 sleep 25 命令,因此容器将存活 25 秒。但我想在 10 秒内超时并移除容器。

另一种解决方法:

timeout --signal=SIGKILL 5 docker run --rm -it busybox:1.26.2-glibc /bin/sh

不幸的是,从 17.09.0-ce 开始,docker 没有提供这样的功能。这是功能建议

于 2017-12-03T14:18:40.330 回答