如何pause/resume一个舰队单位?
how to pause/resume a fleet unit?
我的计算机中有一个 vagrant coreos 集群设置。我可以提交、加载、启动、停止、卸载、销毁集群中不同主机中的舰队单元。 pause/resume 已经 loaded/started 的单位是否有 fleetctl 命令?如果没有内置命令,如何实现舰队单位的pause/resume功能?
目前无法在 Fleet 中执行此操作。我的问题是,pause/resume 与 stop/start 或 destroy/start 有何不同?
容器应该是无状态的,您应该以这种方式设计您的应用程序。
但是,如果您想暂停,可以连接到主机 运行 您的设备并使用 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
我的计算机中有一个 vagrant coreos 集群设置。我可以提交、加载、启动、停止、卸载、销毁集群中不同主机中的舰队单元。 pause/resume 已经 loaded/started 的单位是否有 fleetctl 命令?如果没有内置命令,如何实现舰队单位的pause/resume功能?
目前无法在 Fleet 中执行此操作。我的问题是,pause/resume 与 stop/start 或 destroy/start 有何不同?
容器应该是无状态的,您应该以这种方式设计您的应用程序。
但是,如果您想暂停,可以连接到主机 运行 您的设备并使用 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