https://dockerlabs.collabnix.com/docker/cheatsheet/#basic-docker-clis
Docker Image = a read-only template that contains all the information needed to create a Docker container. It is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
Dockerfile = a text file that contains instructions for building a Docker image. It is a simple text file that contains a series of instructions, each of which tells Docker what to do to build the image. For example, an instruction might tell Docker to install a package, copy a file into the image, or run a command.
Docker Compose = used to start up multiple Docker containers at the same time and automates some of the long-winded arguments we pass to docker run