docker-tools icon indicating copy to clipboard operation
docker-tools copied to clipboard

Use Docker buildx build context to dynamically replace FROM statements in Dockerfiles

Open lbussell opened this issue 10 months ago • 4 comments

Docker buildx has a feature that allows you to dynamically override any of the FROM statements in a Dockerfile at build-time. For example, --build-context mcr.microsoft.com/dotnet/runtime:8.0=mycustomacr.azurecr.io/repo:tag.

https://docs.docker.com/reference/cli/docker/buildx/build/#build-context

This means we wouldn't need to parameterize the source REPO of many of our Dockerfiles like we do today, making our Dockerfiles cleaner: https://github.com/dotnet/dotnet-docker/blob/87b3735c6c2ba37277be80dd04099f6cb93e4bb7/src/aspnet/8.0/alpine3.18/arm32v7/Dockerfile#L1-L2

lbussell avatar Apr 10 '24 21:04 lbussell

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

One question is if we would do this for linux only as Windows doesn't have official support for buildx yet (currently in-progress)?

MichaelSimons avatar Apr 10 '24 21:04 MichaelSimons

This would allow us to get rid of this functionality too: https://github.com/dotnet/docker-tools/pull/1031

mthalman avatar Apr 10 '24 21:04 mthalman

[Triage] This would be nice to have. We need to do more investigation on the Windows BuildKit support (but that shouldn't necessarily block Linux adoption).

lbussell avatar Apr 11 '24 19:04 lbussell