Are there maintenance conflicts withe active users?

In short, no, there is no need for a maintenance mode.

If the backend goes down for whatever reason, users will see error messages or a “cannot connect to server” status message in the browser, but it will go back to normal once the server is reachable again.

Upgrades & downtimes is one of the main benefits of using docker. When using docker, the new image is pulled in the background and the new version is already installed in it, so there is no need to shut down the backend to download and install a new version. The only downtime is a couple of seconds while restarting the container. If a user is unlucky enough to send a request in this instance, there will be an error message, that’s all. Database corruption will not occur as the process is shut down gracefully and even if not, everything is wrapped in ACID transactions.

When using a larger deployment for many users, I would use Kubernetes, where there is practically no downtime at all. Multiple containers can be started and you always route to one which is running.