【问题标题】:Set max lifetime for Docker Container?为 Docker 容器设置最大生命周期?
【发布时间】:2018-05-17 01:54:33
【问题描述】:

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

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

【问题讨论】:

    标签: docker devops docker-engine


    【解决方案1】:

    快速解决方法:

    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 不提供此类功能。 Here is the feature proposal.

    【讨论】:

    • 是的,这可能是一种解决方法。我最初以为我可以简单地为我想要运行的命令指定超时时间(例如,在这里解释:stackoverflow.com/questions/10224939/…),但我仍然很好奇 Docker 是否提供这样的功能:)
    猜你喜欢
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 2020-11-06
    • 2021-04-12
    • 1970-01-01
    • 2012-08-06
    • 2012-05-07
    • 2017-06-23
    相关资源
    最近更新 更多