From Code to Container:

How to Construct Effective Docker file.

From Code to Container:

Table of contents

Dockerfile:

A Dockerfile is like a set of instructions for making a container. It tells Docker what base image to use, what commands to run, and what files to include. For example, if you were making a container for a website, the Dockerfile might tell Docker to use an official web server image, copy the files for your website into the container, and start the web server when the container starts.

Docker builds images automatically by reading the instructions from a Dockerfile a text file that contains all commands, in order, needed to build a given image. A Docker image consists of read-only layers each of which represents a Dockerfile instruction. The layers are stacked and each one is a delta of the changes from the previous layer. The following is the contents of an example Dockerfile:

Each instruction creates one layer:

  • FROM creates a layer from the ubuntu:22.04 Docker image.

  • COPY adds files from your Docker client’s current directory.

  • RUN builds your application with make.

  • CMD specifies what command to run within the container.

When you run an image and generate a container, you add a new writable layer, also called the container layer, on top of the underlying layers. All changes made to the running container, such as writing new files, modifying existing files, and deleting files, are written to this writable container layer.