Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tag all stages of docker multi-stage build

Is there a way to build and tag all stages of a multistage build? A verbose (and somewhat slow) workaround is to call docker build several times:

DOCKER_BUILDKIT=1 docker build
    --target builder
    --tag bdr
DOCKER_BUILDKIT=1 docker build
    --target build
    --tag bd
DOCKER_BUILDKIT=1 docker build
    --target runtime
    --tag rt
DOCKER_BUILDKIT=1 docker build
    --target test
    --tag tst

EDIT: In my case every call to docker build includes ~2 seconds of overhead:

#1 [internal] load .dockerignore
#1 transferring context: 34B done
#1 DONE 0.6s

#2 [internal] load build definition from Dockerfile
#2 DONE 0.7s

#3 [internal] load metadata for my_parent_image...
#3 DONE 0.7s

#4 [builder 1/6] FROM my_parent_image@s...
#4 DONE 0.0s
like image 854
davidvandebunte Avatar asked Oct 19 '25 04:10

davidvandebunte


1 Answers

This is a feature of docker buildx bake which is at last check still considered experimental and I haven't seen a lot of traction for the syntax from the community.

There's certainly been some discussion on adding this functionality in the buildkit issues and I'd recommend following those issues and adding your use case if you'd like to see it added.

like image 100
BMitch Avatar answered Oct 21 '25 21:10

BMitch



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!