Really you need to define “production” in your case.
Compose simply starts and stops multiple containers with a single command. It doesn’t add anything to the mix you couldn’t do with regular docker commands.
If “production” is a single docker host, with all instances and relationships defined, then compose can do that.
But if instead you want multiple hosts and dynamic scaling across the cluster then you are really looking at swarm or another option.