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