使用 Dockerfile 将具有绝对路径的文件复制到 Docker 容器

abe*_*abe 1 docker

我有一个 Dockerfile 位于路径: /Users/userx/Library/Documents/dockerProject

我想将文件复制到容器中: /Users/userx/Library/temp/otherfiles/myFile.txt

我想从 Dockerfile 中执行此操作。我尝试使用COPY,但它只适用于项目的上下文。

有些人暗示我可以使用链接 bash 命令的命令来做到这一点,RUN但是当我使用时:

RUN 'cd /Users/userx/Library/temp/otherfiles/;pwd'

我收到错误returned a non-zero code

如何使用 Dockerfile 从系统绝对路径复制文件。

谢谢

bel*_*ckn 6

您只能使用 Dockerfile 中构建上下文中的文件,这是正确的。通常,这是.Dockerfile 的目录。您可以在命令中指定它docker build在这里您可以得到一个很好的概览。

我在这里看到两个选择:

  1. 在构建映像之前,将所需的文件复制到 Dockerfile 的目录中。然后你可以COPY file /path/in/container在你的 Dockerfile 中使用。
  2. 您可以使用卷在运行时将所需的文件安装到容器内:docker run -v /path/to/file:/path/in/container yourimage

另外,这:RUN 'cd /Users/userx/Library/temp/otherfiles/;pwd'没有意义。该命令将在构建时在映像内运行,该路径不存在。您无法在命令中引用 Dockerfile 内主机的路径RUN

  • @leopal 感觉非常有限。我只想添加一个不在上下文中的文件。真的感觉我失去了一些东西。我不可能不是唯一一个没有将所有文件集中在一个位置的人。 (3认同)

归档时间:

查看次数:

13161 次

最近记录:

5 年,9 月 前