Docker plays an integral part in both development and serving the application in production.
Note: we do not use Kubernetes or automatic infrastructure provisioning. If your organization is interested in contracting us to develop Kubernetes-centric solutions, specifically for infrastructure provisioning, please contact us directly.
One of the challenges is keeping track of all the containers and instances of services and everything else. Personally I find it slightly disorganized and confusing, as I keep docker-compose files in many folders. The reader is encouraged to comment, describing how they structure the containers that they run.
Every root folder (every repository) can have a docker-compose.yml file. I additionally have a repository "docker" with a bunch of docker-compose files, and Dockerfile definitions as well as other configuration. Between the docker-compose.yml of each project and one place where all other docker services are defined, I manage them fine. Besides, if you run the command:
docker ps
You will see all containers running on the engine, which gives you an idea of where, in which folder a running service is defined.
There is an article describing the convenience script for logging into a running container.