Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿Docker build no encuentra el origen de COPY? Audita el contexto real antes de editar

COPY solo lee el build context después de checkout, generación e ignore. Conserva comando y snapshot, y corrige un límite probado sin ampliar acceso ni incluir secretos.

Original es diagram of Docker context selection and COPY visibility.
Ilustración original: COPY solo lee el contexto seleccionado tras el filtrado. Watch at Ease

Un fallo de Docker COPY no prueba que el archivo falte en el host. Falta en el contexto filtrado que recibió BuildKit o COPY lee otro stage, image o named context.

Conserva comando y error; demuestra tipo de context, checkout, ignore y source kind. Corrige un límite sin ampliar el árbol ni incorporar secretos.

Conserva comando y contexto

Registra error, cwd, versión, builder, Dockerfile y último argumento context.

Clasifica local, Git, tar, named o empty context.

Demuestra checkout y generación

Comprueba case, sparse checkout, submodule, LFS y checkout path en el snapshot real.

Registra dónde se genera el archivo; el Git context predeterminado no ve mutaciones del runner.

Evalúa el ignore efectivo

Lee `.dockerignore` raíz y específico; aplica precedencia y last match.

No elimines reglas amplias ni copies secretos; usa la excepción segura más estrecha.

Separa default y --from

COPY simple lee default context; --from lee la raíz de stage/image/named context.

No uses `../`; declara un named context estrecho si necesitas otro árbol.

Una corrección y verificación

Cambia solo context, checkout, generación, case, ignore, Git/path o --from demostrado.

Haz un fresh build, inspecciona el artifact y reproduce el mismo contrato en CI.

Original es diagram of absent, ignored and --from source branches.
Ilustración original: clasifica el origen ausente antes de cambiar context o ignore. Watch at Ease