0

コンピューターに vagrant coreos クラスターがセットアップされています。クラスター内の異なるホストにあるフリート ユニットを送信、ロード、開始、停止、アンロード、破棄することができました。すでにロード/開始されているユニットを一時停止/再開するためのフリートctlコマンドはありますか? 組み込みコマンドがない場合、フリート ユニットの一時停止/再開機能を実現するにはどうすればよいですか?

4

2 に答える 2

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
于 2015-04-29T04:10:11.857 に答える
0

現在、フリートでこれを行う方法はありません。私の質問は、一時停止/再開と、停止/開始または破棄/開始との違いは何ですか?

于 2015-04-24T19:32:50.627 に答える