From c7bb60c666919805ff236b636701e090e06a89ac Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Thu, 20 Aug 2026 22:28:06 +0200 Subject: [PATCH] Stop shipping 32 GB to the daemon to build an image that reads none of it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neither Dockerfile has a COPY or an ADD. Both are environment images — CI checks the repo out inside the container, local use bind-mounts it — so every byte of the build context was uploaded and then ignored. Here that is 32 GB, 30 GB of it target/, before the first apt line runs. The registry has never held either image, so this had never actually been paid: the workflows were committed and the push never happened. Co-Authored-By: Claude Opus 5 (1M context) --- .dockerignore | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1b8b16b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +# Both Dockerfiles are *environment* images: neither has a single COPY or ADD, +# because CI checks the repo out inside the container at run time and local use +# bind-mounts it. So the build context is deliberately empty. +# +# Without this file `docker build .` uploads the whole tree to the daemon — +# 32 GB here, 30 GB of it target/ — to build an image that reads none of it. +# +# If a Dockerfile ever does need a file from the tree, un-ignore it explicitly: +# * +# !scripts/needed-thing.sh +*