where should I put docker-compose.yml where should I put docker-compose.yml docker docker

where should I put docker-compose.yml


I'm asking myself the same question: Where to put my docker-compose.yml file?

I've decided to do it the following way:

  • One Repo for the docker-compose.yml along with deployment scripts (Jenkins pipeline in my case).
  • One Repo per micro service along with a Dockerfile and its build logic (built image is pushed to private docker registry).

Why?

  • The docker-compose.yml describes a system (the composition of micro services) and how it is deployed.
  • A micro services should be independent from the system infrastructure.
  • There could be more than one system (different composition of the micro services) with a second docker-compose.yml (and Repo).

However, of course there are reasonable exceptions.Assume you're deploying a customized Database along with a management tool (e.g. customized mariadb and adminer), then most things may live in one repository.