问题
I have a Dockerfile with the following line:
COPY *.zip ~user1
The user user1
already exists and has a home directory (i.e. /home/user1
). The goal, of course, is to copy the zip file into that user's home dir, however the result of the above is that the zip file is copied to a file named literally /~user1
in the image.
The following does work as expected:
COPY *.zip /home/user1
Is this a bug in Docker or is there a limitation related to tilde expansion that I'm not aware of?
Using Docker 1.13.0 on Mac.
回答1:
Tilde expansion for COPY
is not supported.
From The COPY docs:
The
dest
is an absolute path, or a path relative to WORKDIR, into which the source will be copied inside the destination container.
Example:
COPY test relativeDir/ # adds "test" to `WORKDIR`/relativeDir/
COPY test /absoluteDir/ # adds "test" to /absoluteDir/
来源:https://stackoverflow.com/questions/41927249/tilde-expansion-doesnt-work-in-docker-copy-command