Using the following Dockerfile
:
FROM alpine:latest
WORKDIR /usr/src/app
COPY ["somefile", "/"]
and the build
following command:
docker build \
--file=Dockerfile \
--no-cache=true \
--progress=plain \
--tag=someimage:sometag \
.
=>
#1 [internal] load build definition from Dockerfile
. . .
#8 naming to docker.io/someimage:sometag done
#8 DONE 0.0s
why is somefile
found at the root (/
):
docker run someimage:sometag ls -altr ../../../.
#=>
total 68
. . .
-rw-r--r-- 1 root root 128 Jul 27 12:34 somefile
. . .
drwxr-xr-x 1 root root 4096 Jul 27 12:34 ..
drwxr-xr-x 1 root root 4096 Jul 27 12:34 .
and not the working directory (/usr/src/app
):
docker run someimage:sometag ls -altr .
#=>
total 8
drwxr-xr-x 3 root root 4096 Jul 27 12:34 ..
drwxr-xr-x 2 root root 4096 Jul 27 12:34 .
The
COPY
instruction in yourDockerfile
:uses an absolute path instead of a relative path; more on that here.
Replacing
/
with./
willCOPY
somefile
to/usr/src/app
instead of the root dir:We can locate
somefile
after webuild
the image with: