Chowning files can take a lot of space in a Docker image

Today I learned that recursively changing the owner of a directory tree in a Dockerfile can result in some serious increase in image size. 🚛 The issue You may remember how in a previous post we used a small example to discuss layers and final image size. Well, here’s our example again, slightly modified. # Dockerfile FROM ubuntu WORKDIR /app RUN fallocate -l 100M example RUN chown 33:33 example Given that the base image weighs ~75MB, we could expect the final image to weigh ~175MB (~75 from the base image + ~100 from the big file we generated)....

2021-03-02 · 4 min · 643 words

Docker images layers and cache

In this post, we’ll walk through Docker image layers and the caching around them from the point of view of a Docker user. I’ll assume you’re already familiar with Dockerfiles and Docker concepts in general. ✌️ The two axioms of Docker layers There are two key concepts to understand, from which everything else is deduced. Let’s call them our axioms. Axiom 1 Every instruction in a Dockerfile results in a layer1....

2020-12-28 · 10 min · 1949 words