У меня есть бродячий кластер coreos на моем компьютере. Я мог отправлять, загружать, запускать, останавливать, выгружать, уничтожать флотилии на разных хостах в кластере. Существуют ли команды Fleetctl для приостановки/возобновления уже загруженного/запущенного юнита? Если нет встроенной команды, как добиться паузы/возобновления юнитов флота?
как приостановить/возобновить флот?
Ответы (2)
Предполагается, что контейнеры не имеют состояния, и вы должны проектировать свое приложение таким образом.
Однако, если вы хотите сделать паузу, вы можете подключиться к хосту, на котором работает ваше устройство, и использовать 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
person
Popinou
schedule
29.04.2015
Сегодня на флоте нет такой возможности. Мой вопрос: чем пауза/возобновление отличается от остановки/запуска или уничтожения/запуска?
person
Rob
schedule
24.04.2015
пауза означает, что устройство приостановлено с его состоянием. возобновление — вывести устройство из состояния приостановки. start/stop убивает юниты и перезапускает их.
- person satheeshram; 25.04.2015