Containers

What is the difference between CMD and RUN in Containerfile/Dockerfile?

Difficulty: unrated

Source: bregman-arie/devops-exercises by Arie Bregman

Answer

RUN lets you execute commands inside of your Docker image. These commands get executed once at build time and get written into your Docker image as a new layer. CMD is the command the container executes by default when you launch the built image. A Containerfile/Dockerfile can only have one CMD. You could say that CMD is a Docker run-time operation, meaning it’s not something that gets executed at build time. It happens when you run an image. A running image is called a container.