Docker 如何为容器设置执行时间?

Docker 如何为容器设置执行时间?,docker,Docker,我执行: docker run --stop-signal=9 --stop-timeout=30 --name=test test 但这不会杀死容器,它不会做任何事情 从手动Docker运行: 用信号停止集装箱(-Stop信号) --stop signal标志设置将发送到容器以退出的系统调用信号。该信号可以是一个有效的无符号数字,与内核的syscall表中的位置相匹配,例如9,也可以是SIGNAME格式的信号名,例如SIGKILL 使用超时停止容器(-Stop timeout) --stop

我执行:

docker run --stop-signal=9 --stop-timeout=30 --name=test test
但这不会杀死容器,它不会做任何事情

从手动Docker运行:

用信号停止集装箱(-Stop信号)

--stop signal标志设置将发送到容器以退出的系统调用信号。该信号可以是一个有效的无符号数字,与内核的syscall表中的位置相匹配,例如9,也可以是SIGNAME格式的信号名,例如SIGKILL

使用超时停止容器(-Stop timeout)

--stop timeout标志设置将发送到容器以退出的预定义(请参阅--stop signal)系统调用信号的超时(秒)。超时后,容器将被SIGKILL终止


这是如何正确使用的?

AFAIK没有任何docker标志可以在指定时间内运行容器。 正如您所引用的,您执行的命令设置docker停止时发送到容器主进程的信号(在您的情况下为
SIGKILL

如果要运行容器一段时间,然后停止它,可以使用
timeout
实用程序运行有时间限制的命令:

timeout --signal=SIGTERM 5  docker run --rm test
该命令在超时(5秒)时向docker进程发送
SIGTERM
信号,docker进程将其传播到正在运行的服务。此外,如果在发送初始信号后容器仍在运行,则可以使用
--kill after duration
标志强制容器停止。希望有帮助。

看到了吗