Как перезагрузить nginx как службу роя Docker? - PullRequest
0 голосов
/ 18 октября 2019

У меня сервер https nginx, запущенный в качестве службы Docker Swarm. После обновления сертификатов, как я могу попросить nginx перезагрузить их?

docker service update --force, кажется, перезапускает службу, чтобы клиенты были прерваны?

И нет docker service run, который я могуrun nginx -s reload.

Что мне нужно сделать, чтобы перезагрузить nginx без перезапуска?

1 Ответ

0 голосов
/ 18 октября 2019

Если вы хотите нулевое время простоя, то вот один пример:

Масштабируйте службу nginx до 2, затем обновите службу nginx. При обновлении сервиса он будет работать один за другим по умолчанию. Так что пользователь не будет видеть простоев.

Вы можете контролировать это в файле docker-compose.yaml.

services:
  nginx:
    image: REPO:TAG
    deploy:
      replicas: 2
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: on-failure

'parallelism: 1' обновит контейнер один за другим.

...