gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 19:21:06 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to include files outside of Docker's build context?

(18 个回答)


2年前关闭。




我有一个位于路径的 Dockerfile:/Users/userx/Library/Documents/dockerProject
我想将文件从以下位置复制到容器中:/Users/userx/Library/temp/otherfiles/myFile.txt
我想在 Dockerfile 中执行此操作。我尝试使用 COPY但它只适用于项目的上下文。

有些人暗示我可以用 RUN命令链接 bash 命令,但是当我使用时:
RUN 'cd /Users/userx/Library/temp/otherfiles/;pwd'
我收到错误 returned a non-zero code
如何使用 Dockerfile 从系统绝对路径复制文件。

谢谢

最佳答案

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

我在这里看到两个选项:

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

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

    关于docker - 使用 Dockerfile 将具有绝对路径的文件复制到 Docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59678512/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com