Util: support building in place for ECR docker images #11806
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
When building docker images for our tests, it is sometimes useful to be able to include external files into the image. The current way the
generate_ecr_from_dockerfile
utility function works is to copy the Dockerfile into a temporary location, however this does not allow the Docker context to access these other files.For example, with the following file:
and directory layout:
will not build because the
Dockerfile
is copied to a temporary location and built from there.Changes
Add a new flag:
build_in_place
which defaults toFalse
(to maintain current default behaviour) which does not copy the Dockerfile away from its original position.Note: this may induce lots of copying of large contexts to the Docker daemon if e.g. the Dockerfile is contained in a larger project without proper
.dockerignore
setup, however this is fairly easy to recognise and fix.