I need to run intermediate image generated during docker build and debug why a step in my Dockerfile failed. But I found the sha256 hash printed by docker build command can't work as an image for docker run.
What should I do to get the correct hash to run the intermediate image generated during docker build?
Here's my docker file:
From ubuntu:14.04 RUN mkdir -p /test # A step failed which I want to debug inside container, below is just an example RUN apt-get aaabbbccc I executed docker build --no-cache --rm=false --progress=plain -t test . in the directory of this docker file, and here's the output:
#1 [internal] load build definition from Dockerfile #1 sha256:4ddf269e3dcad450ffd58539a6a1bef5fcdbd2658a967686117ef97577644054 #1 transferring dockerfile: 38B done #1 DONE 0.1s #2 [internal] load .dockerignore #2 sha256:8bdc29cab8a002907b181b561346e3bfff86f15af8dbf1e71734a04dbfe84722 #2 transferring context: 2B done #2 DONE 0.1s #3 [internal] load metadata for docker.io/library/ubuntu:14.04 #3 sha256:38a6494a6a0d960a5a01b6b8e3ed8ef4f5117f0d5ffa89b529a2860d9846ad70 #3 DONE 0.0s #4 [1/3] FROM docker.io/library/ubuntu:14.04 #4 sha256:a9ab970ef4810de5fde05a4caa66b977b639ff067a8b0241cb81432a2f533c04 #4 CACHED #5 [2/3] RUN mkdir -p /test #5 sha256:fa1edf28f7de30d57aa7e51d18feabe4f0c42ba43743ab7363364f49707871b0 #5 DONE 0.6s #6 [3/3] RUN apt-get aaabbbccc #6 sha256:3fcc9acaf5ccb3a9773f84dae10ea1a4bd6906b27d3138756542c41f8344ea4f #6 0.534 E: Invalid operation aaabbbccc #6 ERROR: executor failed running [/bin/sh -c apt-get aaabbbccc]: exit code: 100 ------ > [3/3] RUN apt-get aaabbbccc: ------ executor failed running [/bin/sh -c apt-get aaabbbccc]: exit code: 100 I suppose the "sha256:fa1edf28f7de30d57aa7e51d18feabe4f0c42ba43743ab7363364f49707871b0" should be the hash of intermediate image generated by first 2 steps of the build process, but when I tried to execute docker run --rm -it fa1edf28f7de30d57aa7e51d18feabe4f0c42ba43743ab7363364f49707871b0, docker tells me that there's no such image.
docker: Error response from daemon: No such image: sha256:fa1edf28f7de30d57aa7e51d18feabe4f0c42ba43743ab7363364f49707871b0. See 'docker run --help'. Docker version: Docker version 20.10.17, build 100c701
System version: Ubuntu 20.04.4 LTS (on WSL2)
DOCKER_BUILDKIT=0to (temporarily) disable BuildKit, so you will get the intermediate images available for debugging.