in simple words the answer is: if your container is down, to ensure availability of your application, containers should be run. There should be some kind of container manager which takes responsibility of this. thats where kubernetes or amazon ecs or docker ee , comes into picture.
consider the machine on which your container is deployed. Let's call that machine A. Suppose A goes down, then what happens to your container? Even your container also goes down,
To read more, check my blog: