On sloppy.io, whenever you deploy a stateless container (no volumes), the update is automatically rolled out using a rolling deployment. That is, the existing container keeps running until the new container is staged and running, and healthy (if health checks are in place). Only then is the old container shut down and removed. This way, your customers won't ever notice the deploy.

This only works for stateless containers. Any container using volumes, like a database, has to be deployed by stopping the existing container, unmounting its volumes, starting the new container and mounting the volumes there. That might lead to small windows of downtime, but is necessary to ensure data consistency. Accordingly, any container connecting to a database like this needs to handle a temporarily failing database connection.

Did this answer your question?