Skip to content

Decrease size of docker context by two orders of magnitude#47342

Merged
potiuk merged 1 commit intoapache:mainfrom
potiuk:make-your-docker-context-small
Mar 4, 2025
Merged

Decrease size of docker context by two orders of magnitude#47342
potiuk merged 1 commit intoapache:mainfrom
potiuk:make-your-docker-context-small

Conversation

@potiuk
Copy link
Member

@potiuk potiuk commented Mar 4, 2025

When building docker image, local source files are sent as context. Unfortunately node and pnmp are adding a lot of cache inside the source tree and if we are not carefuly with excludin those, we end up with GBs of context being sent to docker before the build even starts (which takes minutes)

This PR removes .pnpm-store folders that were the root cause for sending 1.5GB of context. It also adds simple instructions how you can check which files are in the context and how to see the size of the context. With this change, the context is down from 1.5 GB to 90 MB - cutting docker build context sending time from ~ minute to under a second.


^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

When building docker image, local source files are sent as context.
Unfortunately node and pnmp are adding a lot of cache inside the
source tree and if we are not carefuly with excludin those, we
end up with GBs of context being sent to docker before the build
even starts (which takes minutes)

This PR removes .pnpm-store folders that were the root cause for
sending 1.5GB of context. It also adds simple instructions how
you can check which files are in the context and how to see the
size of the context. With this change, the context is down
from 1.5 GB to 90 MB - cutting docker build context sending time
from ~ minute to under a second.
@potiuk potiuk requested review from bbovenzi, eladkal, pierrejeambrun and vincbeck and removed request for ashb and jedcunningham March 4, 2025 09:37
Copy link
Contributor

@eladkal eladkal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice

@potiuk potiuk merged commit 25a905e into apache:main Mar 4, 2025
34 checks passed
@potiuk potiuk deleted the make-your-docker-context-small branch March 4, 2025 10:34
@jscheffl
Copy link
Contributor

jscheffl commented Mar 4, 2025

Cool!

shahar1 pushed a commit to shahar1/airflow that referenced this pull request Mar 5, 2025
)

When building docker image, local source files are sent as context.
Unfortunately node and pnmp are adding a lot of cache inside the
source tree and if we are not carefuly with excludin those, we
end up with GBs of context being sent to docker before the build
even starts (which takes minutes)

This PR removes .pnpm-store folders that were the root cause for
sending 1.5GB of context. It also adds simple instructions how
you can check which files are in the context and how to see the
size of the context. With this change, the context is down
from 1.5 GB to 90 MB - cutting docker build context sending time
from ~ minute to under a second.
nailo2c pushed a commit to nailo2c/airflow that referenced this pull request Apr 4, 2025
)

When building docker image, local source files are sent as context.
Unfortunately node and pnmp are adding a lot of cache inside the
source tree and if we are not carefuly with excludin those, we
end up with GBs of context being sent to docker before the build
even starts (which takes minutes)

This PR removes .pnpm-store folders that were the root cause for
sending 1.5GB of context. It also adds simple instructions how
you can check which files are in the context and how to see the
size of the context. With this change, the context is down
from 1.5 GB to 90 MB - cutting docker build context sending time
from ~ minute to under a second.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants