3 ms·
You can build the first stage separately as a first step using `--target` and store the cache that way. No problem.
by korijn 4y ago
You can build the first stage separately as a first step using `--target` and store the cache that way. No problem.
- orf 4y agoHow would you do this in a generic, reusable way company-wide for any Dockerfile? Given that you don't know the targets beforehand, the names, or even the number of stages. It is of course possible to do for a single project with a bit of effort: build each stage with a remote OCI cache source, push the cash there after. But... that sucks. What you want is the `max` cache type in buildkit[1]. Except... not much supports that yet. The native S3 cache would also be good once it stabalizes. 1. https://github.com/moby/buildkit#export-cache https://github.com/moby/buildkit#export-cache
- korijn 4y agoStandardize the stages and names. We use `dev` and `latest`. It worked wonders for us, on a cache hit the build time is reduced from 10 to 1,5 minutes.