What Is a Dockerfile?
A Dockerfile
is a text file that contains instructions on how to create a Docker image. These commands are known as directives. A Dockerfile
is a mechanism that we use to create a custom Docker image as per our requirements.
The format of a Dockerfile
is as follows:
# This is a comment DIRECTIVE argument
A Dockerfile
can contain multiple lines of comments and directives. These lines will be executed in order by the Docker Engine while building the Docker image. Like programming languages, a Dockerfile
can also contain comments.
All statements starting with the # symbol will be treated as a comment. Currently, Dockerfiles
only support single-line comments. If you wish you write a multi-line comment, you need to add the # symbol at the beginning of each line.
However, unlike most programming languages, instructions within the Dockerfile
are not case-sensitive. Even though the DIRECTIVE
is case-insensitive, it is a best practice to write all directives in uppercase to distinguish them from arguments.
In the next section, we will discuss the common directives that we can use in Dockerfiles
to create a custom Docker image.
Note
If you are using ubuntu versions later than 18.04, there will be a prompt to enter time zone. Please suppress the prompt with ARG DEBIAN_FRONTEND=non_interactive