首页 > 解决方案 > 如何在超时时终止 docker 容器?

问题描述

我已经开发web IDE用于测试 docker 容器中的用户代码。但是如果用户像这样运行无限循环while(true),docker容器将不断浪费计算机资源(内存等)。所以我想在几秒钟后杀死 docker 容器进程。给我举例或参考。谢谢!

Docker 版本:2.0.0.3 (31259)

标签: node.jsdockerexpressinfinite-loop

解决方案


您可以使用timeout命令在容器中启动您的进程。

例如,如果您当前正在/somewhere/my_web_idedocker 容器中启动该进程,则可以将该命令更改为:

timeout --kill-after=3s /somewhere/my_web_ide

注意:您使用的 docker 镜像可能没有该timeout命令。要验证这一点,请运行以下命令:docker run --rm -it my_docker_image timeout --help.


推荐阅读