Обновления Docker Swarm Rolling
Я пытаюсь сделать безудержные обновления моего контейнера Django / gunicorn в Docker Swarm.Это конфигурация для этой службы в стеке:
gunicorn:
command: /bin/sh -c "./manage.py collectstatic --noinput; gunicorn myapp.wsgi -b 0.0.0.0:8000"
deploy:
replicas: 1
update_config:
failure_action: rollback
order: start-first
healthcheck:
test: curl --fail -s http://localhost:8000/health || exit 1
interval: 30s
timeout: 5s
retries: 3
image: registry.gitlab.com/me/myapp:a4decb1c
Я делаю свое обновление, заменяя хеш коммита для изображения в файле стека, затем запускаю:
docker stack deploy -c /mystack.yml myapp
ЕслиЯ смотрю Docker Service PS Я вижу, как он запускает новую версию, пока старая все еще работает, затем, после того, как новая проходит проверку здоровья, она убивает старую, отлично, но затем она перезапускает новуюи вызывает простои.
Я делаю это неправильно или не понимаю, как это должно работать?Как только новый пройдет проверку здоровья, я хочу, чтобы он убил старого, но я также хочу, чтобы он не ложился спать.