Author Archives: Tonis Tiigi
Author Archives: Tonis Tiigi
Multistage builds feature in Dockerfiles enables you to create smaller container images with better caching and smaller security footprint. In this blog post, I’ll show some more advanced patterns that go beyond copying files between a build and a runtime stage, allowing to get most out of the feature. If you are new to multistage builds you probably want to start by reading the usage guide first.
The latest Docker versions come with new opt-in builder backend BuildKit. While all the patterns here work with the older builder as well, many of them run much more efficiently when BuildKit backend is enabled. For example, BuildKit efficiently skips unused stages and builds stages concurrently when possible. I’ve marked these cases under the individual examples. If you use these patterns, enabling BuildKit is strongly recommended. All other BuildKit based builders support these patterns as well.
• • •
Multistage builds added a couple of new syntax concepts. First of all, you can name a stage that starts with a FROM
command with AS stagename
and use --from=stagename
option in a COPY
command to copy files from that stage. In fact, FROM
command and --from
flag Continue reading