Tilde扩展在Docker COPY命令中不起作用

Dav*_* L. 8 tilde-expansion docker dockerfile

我有一个Dockerfile,其中包含以下行:

COPY *.zip ~user1
Run Code Online (Sandbox Code Playgroud)

用户user1已经存在并且具有主目录(即/home/user1).当然,目标是将zip文件复制到该用户的主目录中,但上述结果是将zip文件复制到/~user1图像中字面上的文件中.

以下工作按预期工作:

COPY *.zip /home/user1
Run Code Online (Sandbox Code Playgroud)

这是Docker中的错误还是有我不知道的代字号扩展有关限制

在Mac上使用Docker 1.13.0.

Chr*_*nel 9

COPY不支持Tilde扩展.

来自COPY文档:

dest一个绝对路径,或相对于WORKDIR的路径,源将被复制到目标容器中.

例:

COPY test relativeDir/   # adds "test" to `WORKDIR`/relativeDir/
COPY test /absoluteDir/  # adds "test" to /absoluteDir/
Run Code Online (Sandbox Code Playgroud)

  • 他们可能应该有一个“已知问题”部分。似乎是一个常见问题。 (5认同)