Getting docker build to show IDs of intermediate containers
I'm trying to learn docker but experience some discrepancies to what I've read in each tutorial:
When using the following command docker build -t my-app:1.0 .
my build fails due to some error in my Dockerfile. Following this answer, I wanted to run the last intermediate container ID. Anyhow, in contrast to all tutorials I've seen so far, my console is not showing any intermediate container IDs:
I'm running Docker 19 on Windows 10. How do I get the intermediate container IDs?
I had the same problem. Setting "buildkit" to false in ~/.docker/daemon.json
(In Windows you should find daemon.json in C:\ProgramData\Docker\config) solved this for me:
{
"experimental": true,
"features": {
"buildkit": false
}
}
You don't need to disable buildkit permanently for this and you shouldn't because it will make all your builds slower. You can just set an environment variable when you docker build, like this:
Powershell
$env:DOCKER_BUILDKIT=0; docker build .
Linux/macOS
DOCKER_BUILDKIT=0 docker build .
Windows cmd
set DOCKER_BUILDKIT=0& docker build .
Expanding the Answer of Michael, for anyone that may be a little bit lost. If you are using the docker desktop on windows, you can find this configuration of daemon.json
inside the settings window under the "Docker Engine" tab. Change the json and Apply & Restart
.
Settings window on the Docker Engine tab