./launcher enter app rebuilds everything

It’s not rebuilding the whole container. It’s just doing a git pull of docker_discourse and pulling fresh base images and then putting in into the contain as you expect. That’s why after the first time it doesn’t do that anymore. Unless you are exceedingly low on disk space or 10-30 seconds is a lot of time, it’s not really a problem.