Debugging a Dockerfile
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 Step 2 : RUN ls -lh ---> Running in 7b47d3c46cfa ...