I tried to reproduce it, literally, a dozen times, but everything just works fine here.
What I did was creating a new container per installation instructions under Docker and then I started the container with
sudo docker start --interactive container_id a dozen times.
Each time the whole environment started in about 30 seconds - both servers, web-admin, load-balancer, scheduler, Redis and PostgreSQL.
There are some warnings and errors about PostgreSQL, such as
postgresql: unrecognized service but it the database starts correctly and I will need to find a root cause of these messages because they seem to be misleading.
However, I note an entry as below in your output:
Zato uses Python stdlib’s logging for everything (configuration is in logging.conf). But, sometimes using logging is not possible and this is outside of our control. Most usually, though not always, because it is on such a low level that logging does not even manage to initialize.
To complement logging, each component (server, web-admin etc.) opens a temporary file in /tmp, such as /tmp/tmpz9P3hS-zato-start-server.txt where its stdout and stderr are caught in case of truly unexpected situations.
There may be multiple such files for each component, they can be sorted with
ls -latrh /tmp. What I would like to ask you for, is to post here the contents of the last (newest) file for the server that fails to boot. I hope to find additional information in there. Thanks.