如何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