Docker Compose is a tool for defining and running multi-container Docker applications. It’s based on compose file in YAML format, in which services, networks, and volumes are defined, with relations between them.

Dockerfile: runtime definition
A Dockerfile is to a project what sheet music is to a song - it ensures that the same operations are always performed, in the same order, with the same result. ...