unless-stoppedunless-stopped restarts the container when it exits and when the Docker daemon starts. The only exception is a container you stopped manually.always is close, but a manually stopped container comes back when the daemon restarts. on-failure only restarts when the app exits with a non-zero exit code, so it does not cover every case.