En los documentos de docker swarm v3, hay 3 condiciones de política de reinicio diferentes que se pueden usar. Es obvio lo que hace la condición none , pero me preguntaba cuál es específicamente la diferencia entre on-failure y any .
Aquí hay una imagen de los documentos : 
La política on-failure maneja cada vez que existe un contenedor con un código distinto de cero. La política any cubre cualquier otro escenario, pero solo se puede manejar en el reinicio del daemon dependiendo de cómo se detuvo el contenedor (por ejemplo, detener intencionalmente un contenedor con docker stop no da como resultado un reinicio inmediato).
Consulte esta documentación para obtener más detalles: https://docs.docker.com/config/containers/start-containers-automatically/
Nota: no recomiendo una política de reinicio para contenedores que se ejecutan en modo enjambre. He visto escenarios, por ejemplo, host sin memoria, donde tanto el modo de enjambre como el motor acoplable intentan reiniciar el contenedor y es mejor dejar que el modo de enjambre recree un nuevo contenedor, posiblemente en otro host.