Sometimes creating a Dockerfile may not start with everything working. A Dockerfile does not always build images and sometimes it does, but starting a container would crash on startup.
Every instruction we set in the Dockerfile is going to be built as a separate, temporary image for the other instruction to build itself on top of the previous instruction. The following example explains this:
- Create a Dockerfile using your favorite editor:
FROM busybox
RUN ls -lh
CMD echo Hello world
- Now, build the image by executing the following command:
$ docker build .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM busybox
latest: Pulling from library/busybox
56bec22e3559: Pull complete
Digest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912
Status: Downloaded newer image for busybox:latest
---> e02e811dd08f...