Not going to lie, we use docker-compose for the very reasons you're suggesting.
In my case, I can have hostnames set to localhost in my hosts file, then spin up one of several nginx containers configured as proxies, spin up the node.js front end container, spin up a java backend container and spin up a database...
All just by docker-compose up --force-recreate <some_hostname>
Not going to lie, we use docker-compose for the very reasons you're suggesting.
In my case, I can have hostnames set to localhost in my hosts file, then spin up one of several nginx containers configured as proxies, spin up the node.js front end container, spin up a java backend container and spin up a database...
All just by
docker-compose up --force-recreate <some_hostname>
Piece of cake 🎂 I love it :)