| This is a fun problem to see on here (for me) - because I solved a lot of these problems at my last company when I built them a dev enviroment that ran over 30 services, and growing. It was written as a makefile that wrapped docker compose commands, but that's just because it was the easiest to mvp. I considered it a "framework for running a large collection of containers locally". I solved the ports issue by using env vars like a switchboard, with an iPortService=<inside container port>
and
oPortService=<outside network port unique to network-layer> Then i used two directories, one for a data layer that ran datastores, and one for app, for apps. You controlled the layers as groups. You could operate the layers separately, initialize the dbs, and also reset their storage state definitely. Then I had to solve the "docker ps" output problem, since its unreadable. So, i just split it to 3 commands: state,ports, & running. It outputs what you expect. I should re-write it into better code and open source it. It was fun to build. |