COPY failed: file not found
This error matches known, documented patterns with reliable solutions.
Quick Fix (Most Common Solution)
- Ensure file is in build context directory
- Check .dockerignore for exclusions
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.
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.
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
- Ensure file is in build context directory
- Check .dockerignore for exclusions
- Verify file path is correct
Last reviewed: April 2026 How we review solutions
Edge Cases
.dockerignore Silently Excludes Files Before COPY Sees Them
.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?
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
- Docker container error
- Docker build failure
- Container runtime error
- Docker daemon error
Common Search Variations
- "docker container won't start"
- "docker build error fix"
- "docker image not found"
- "container exited with error"
- "docker daemon not responding"
- "fix docker network error"
Related Errors
Still Stuck?
Paste a different error message or upload a screenshot to get help instantly.