I looked thru the docs for docker-compose and I see that Version 3 has a deploy restart policy but it's only for swarm. I tried setting restart_policy on my service but got this error:
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.web: 'restart_policy'
Is there any way to set a restart policy on services created using docker-compose outside of a swarm?
It looks like a gap in the documentation
In 3rd version, we can still use "restart" inside services same as before in v.2 (except for deploy into swarm)
https://docs.docker.com/compose/compose-file/#restart
Even if you're NOT in swarm mode, there is an option called --compatibility which will work with restart_policy, this will attempt to restart even if your not deploying. The only glitch, is the sub-keys of 'delay' and 'window' will be ignored. Here is an example:
run this command:
Version 2 supports restart policies, using the
restart
keyword, and should work fine for you if you don't need Swarm (which you said you don't need/want).https://docs.docker.com/compose/compose-file/compose-file-v2/#restart
Compose format version 3 has a parameter called
restart_policy
, but so far as I can tell from documentation it is only valid as part ofdeploy
, which is only used when deploying to a Swarm. So version 3 is probably not useful in your case.