There is a lot of related discussion on Can Discourse ship frequent Docker images that do not need to be bootstrapped?.
The gist of it is:
-
You provide external services for PostgreSQL, Redis and Load Balancer and configure the app.yml to use those, like for example Running Discourse with a separate PostgreSQL server.
-
Run
./launcher bootstrap app
somewhere. This will result in a container image being created in the local machine. Upload this image to your container registry service. -
Now you can spin as many instances as you want, telling all to run the image exported in the previous step.