【问题标题】:Automatic Docker stop after running in CentOS [closed]在 CentOS 中运行后自动停止 Docker [关闭]
【发布时间】:2017-06-19 23:48:55
【问题描述】:

我在 CentOS 7 中工作,我使用它通过网络执行 Docker Containers

嗯,我有一个网络,用户可以单击一个按钮并执行Docker container。那部分是功能性的。

现在我需要实现一个系统函数,该函数在执行 5 分钟后执行控制台命令以杀死 Docker container

例如:

用户点击选项运行一个容器,一个新的容器被执行,id为7c14e894ab00。我想要的是5分钟后控制台会自动执行docker stop 7c14e894ab00,然后容器就会停止。

我一直在寻找信息,发现了一些想法,例如Crontab 或类似的东西,但Linux 系统不是我的东西。

希望你能帮助我。

【问题讨论】:

标签: linux docker cron centos centos7


【解决方案1】:

您可以制作自己的脚本来启动容器并在 5 分钟后停止它。它会是这样的:

#!/bin/bash

RESULT=$(sudo docker run -d MYCONTAINER)
sleep 5m
echo $RESULT
sudo docker stop $RESULT

所以你可以执行这个脚本而不是你正在运行的命令来启动容器。

【讨论】:

  • 我想在没有睡眠的情况下实现它,因为我需要在系统中运行其他东西。
  • 最好的方法是在后台运行脚本,如果你是在普通的linux系统下运行,其他任务可以同时完成。如果你的脚本被命名为 myScript.sh,你可以使用 sudo bash myScript.sh & 或者如果你让 scrpt 可执行,你可以输入 sudo ./myScript.sh
【解决方案2】:

控制台命令在 5 分钟后杀死 Docker 容器,这是 执行。

随着一段时间内停止/退出的容器增加,会堆积服务器中的内存。 如果容器停止后不再需要,您可以使用 docker --rm 容器停止后立即移除。

如果容器在停止后仍然需要,您可以忽略--rm 选项。 以后要删除所有停止的容器,请使用 docker container prune

一段时间后停止容器

您需要编写自己的脚本来调用 docker stop 命令来停止容器运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多