AI Diagnostic Summary

COPY failed: file not found

Well-Documented Error

This error matches known, documented patterns with reliable solutions.

Quick Fix (Most Common Solution)

Seeing "COPY failed: file not found"? This error can be frustrating, but it's usually fixable. It typically affects your development workflow or system. Below you'll find clear, step-by-step solutions to resolve this issue.

High confidence
What This Error Means

The file you are trying to copy into the image does not exist in the build context.

Frequently documented in developer and vendor support forums.

Based on documented solutions and common real-world fixes.
Not affiliated with browser, OS, or device manufacturers.

New here? Learn why exact error messages matter →

Common Causes
  • File outside build context
  • Typo in file path
  • File in .dockerignore
How to Fix
  1. Ensure file is in build context directory
  2. Check .dockerignore for exclusions
  3. Verify file path is correct

Last reviewed: April 2026 How we review solutions

Edge Cases

.dockerignore Silently Excludes Files Before COPY Sees Them

"COPY failed: no such file or directory" has a non-obvious cause that traps experienced developers: the .dockerignore file silently excludes files before any COPY instruction executes. The build context (the directory sent to the Docker daemon) is filtered by .dockerignore first. If a pattern matches your source file, Docker's COPY cannot find it — not because the file does not exist, but because it was excluded from the build context. Common .dockerignore patterns that cause accidental exclusion: *.env excludes .env.production alongside .env.local; dist excludes the entire dist/ directory you intend to copy; broad **/*.test.js patterns can match test fixtures you need in the container. A second cause: the COPY source path is relative to the build context root, not to the current WORKDIR. COPY ./src . copies from {context}/src into the current WORKDIR, not from {WORKDIR}/src. In multi-stage builds, COPY --from=builder source paths are relative to the previous stage's WORKDIR, which is a different convention. Use docker build --progress=plain . to see the complete list of files sent to the build context. If your file is not listed, it was excluded by .dockerignore. Adding !path/to/needed-file negation rules to .dockerignore re-includes specific files excluded by broader patterns.

Optional follow-up

Some users ask whether saving fixes for recurring errors would be useful when the same issue appears again.

Was this explanation helpful?

Explanations are based on documented fixes, real-world reports, and common system behavior. GetErrorHelp is independent and not affiliated with software vendors, device manufacturers, or service providers.
Frequently Asked Questions

What is build context?

The directory you specify with docker build - usually current dir.

How do I include parent files?

Move Dockerfile up or restructure to include needed files.

Related Resources

Also Known As

Common Search Variations

Related Errors
Still Stuck?

Paste a different error message or upload a screenshot to get help instantly.

Solutions are based on commonly documented fixes and may not apply in all situations.