COPYing a file in a Dockerfile, no such file or directory?
I have a Dockerfile set up in my root (~) folder. The first three lines of my file look like this:
COPY file1 /root/folder/
COPY file2 /root/folder/
COPY file3 /root/folder/
but it returns the following error for each line:
No such file or directory
The files are in the same directory as my Dockerfile and I am running the command docker build - < Dockerfile
in the same directory in terminal as well.
What am I doing wrong here exactly?
Solution 1:
Do check the .dockerignore
file too.
I know this is a very rare case, but I had that file mentioned there.
Solution 2:
The COPY instruction in the Dockerfile
copies the files in src
to the dest
folder. Looks like you are either missing the file1
, file2
and file3
or trying to build the Dockerfile
from the wrong folder.
Refer Dockerfile Doc
Also the command for building the Dockerfile
should be something like.
cd into/the/folder/
docker build -t sometagname .
Solution 3:
It is possibly caused by you are referring file1
/file2
/file3
as an absolute path which is not in build context, Docker only searches the path in the build context.
E.g. if you use COPY /home/yourname/file1
, Docker build interprets it as ${docker build working directory}/home/yourname/file1
, if no file with the same name here, no file or directory error is thrown.
Refer to One of the docker issue