2017-06-19 89 views
0

我正在使用CentOS 7來運行我使用web執行Docker Containers在CentOS中運行後自動Docker停止運行

那麼,我有一個網站,用戶可以點擊一個按鈕,並執行Docker container。這部分功能。

現在我需要實現一個系統函數,該函數在5分鐘後執行一個控制檯命令來殺死Docker container

例如:

用戶點擊運行容器的選項,並且一個新的容器與所述ID 7c14e894ab00執行。我想要的是5分鐘後控制檯將自動執行docker stop 7c14e894ab00,容器將被停止。

我一直在尋找信息,我發現一些想法,如Crontab或類似的東西,但Linux系統不是我的東西。

希望你能幫助我。

+4

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。 – jww

回答

1

您可以製作自己的腳本,啓動容器並在5分鐘後停止。它會是這樣的:

#!/bin/bash 

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

所以你可以執行這個腳本,而不是你正在運行的命令來啓動容器。

+0

我想實現,沒有睡覺,因爲我需要在系統中運行其他東西。 – JFernandez

+1

最好的方法是在後臺運行腳本,並且如果您在正常的linux系統下運行,則可以在此期間完成其他任務。如果你的腳本被命名爲myScript.sh,你可以使用'sudo bash myScript。sh&'或者如果您創建scrpt可執行文件,則可以鍵入'sudo ./myScript.sh' –

0

控制檯命令在5分鐘後終止Docker容器,這是執行 。

由於在一段時間內停止/退出的容器數量增加並且會堆積服務器中的內存。 如果集裝箱一旦停止就不需要,您可以使用docker --rm一旦它停止,它將立即移除集裝箱。

如果容器在停止後仍然需要,您可以忽略--rm選項。 要刪除所有停用的容器,請稍後使用docker container prune

一段時間

你需要編寫自己的腳本調用泊塢窗stop命令停止容器運行後停止容器。