2015-04-23 71 views
0

我在我的電腦中安裝了vagrant coreos羣集。我可以提交,加載,啓動,停止,卸載,銷燬集羣中不同主機上的車隊單元。是否有fleetctl命令用於暫停/恢復已加載/啓動的單元?如果沒有內置命令,如何實現車隊單位的暫停/恢復功能?如何暫停/恢復車隊?

回答

1

容器應該是無狀態的,你應該這樣設計你的應用程序。

但是,如果您想暫停,您可以連接到運行您的設備的主機,並使用docker pause/unpause

或者,如果你從來沒有要停止你的容器,使用包裝腳本這種方式調整你的單元文件:

[Unit] 
    Description=blah 

    [Service] 
    ExecStart=<full path>/start.sh 
    ExecStop=<full path>/stop.sh 

start.sh腳本:

#!/bin/bash 
    if [[ $(docker ps|grep <CONTAINER NAME/ID> == "" ]]; then 
     docker start <yourname>/<yourcontainer> 
    else 
     docker unpause <CONTAINER NAME/ID> 
    fi 

stop.sh腳本:

#!/bin/bash 
    if [[ $(docker ps|grep <CONTAINER NAME/ID> == "" ]]; then 
     echo "container not running" 
    else 
     docker pause <CONTAINER NAME/ID> 
    fi 
+0

謝謝。我會嘗試這個解決方案。 – satheeshram

0

今天沒有辦法在艦隊上做到這一點。我的問題是,如何暫停/恢復和不同於停止/啓動或銷燬/啓動?

+0

暫停表示單元處於暫停狀態。恢復就是將單位從暫停狀態喚醒。開始/停止殺死單位並重新啓動它。 – satheeshram