我有一个作为docker swarm服务运行的https nginx服务器。更新证书后,如何要求Nginx重新加载它们?
docker service update --force
似乎重新启动了服务,因此客户端将被中断?
没有docker service run
我可以运行nginx -s reload
。
我应该怎么做才能重新加载nginx而不重新启动它?
答案 0 :(得分:0)
如果您希望零停机时间,那么这里是一种方法:
将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
“并行性:1”将一次更新容器。