I have a docker compose application which is pulling different images and then mounting few config files to them with my django application which is itself a service and utilizing those services to build something useful. I need to deploy it on client side and on their VM. That project actually needs integration from different client side devices(their digital asset) to get their logs and perform analysis on them. How can I deploy the docker compose file there without making the code or compose file content visible. In fact I want to make it easier to change some variables in my django app as the IP addresses of the digital assets might change. Help me solve this problem. The services are 12 in total including Logstash, Elasticsearch, Kibana , Kafka, rabbitmq, celery, etc etc.
I tried the nested containers approach to create a single image and then when running a container from that image that container will run docker compose inside it which can run 12 containers inside that container but this is getting too much complex as I want to persist the data of some databases in the services by making their volumes so I guess I will need to make a compose file on the host machine which will mount the volumes of volumes made by the main container on the host. Too much complicated isn't it?
I tried the nested containers approach to create a single image and then when running a container from that image that container will run docker compose inside it which can run 12 containers inside that container but this is getting too much complex as I want to persist the data of some databases in the services by making their volumes so I guess I will need to make a compose file on the host machine which will mount the volumes of volumes made by the main container on the host. Too much complicated isn't it?