Ответ 1
Вот полное пошаговое руководство по такому сценарию:
http://coreos.com/blog/zero-downtime-frontend-deploys-vulcand.html
У меня есть контейнер докеров, который я хочу развернуть в кластер CoreOS, который должен загрузить мое приложение из репозитория git.
Скажем, контейнер приложения запускает nginx/nodejs
Как мне его обновить?
Если я представляю контейнер и запускаю его, это работает в первый раз. Но во второй раз мне придется остановить/запустить контейнер с помощью флота, тогда я, очевидно, простоя. Должен ли я запускать новые контейнеры, которые получены из этого контейнера?
Вот полное пошаговое руководство по такому сценарию:
http://coreos.com/blog/zero-downtime-frontend-deploys-vulcand.html
Вместо того, чтобы вытаскивать приложение из github внутри вашего контейнера, вы должны испечь свой код приложения внутри вашего контейнера/изображения. Ваш контейнер должен начать свои услуги в течение нескольких секунд. Чтобы достичь нулевого времени простоя, вы должны хранить старый контейнер до запуска нового контейнера и готовы принимать новые соединения. Вы можете сделать это, отделив nginx в свой собственный контейнер и поддерживая его все время.