gpt4 book ai didi

docker - 如何将主机中用户主目录中的文件复制/添加到容器的主目录?

转载 作者:IT老高 更新时间:2023-10-28 21:21:27 25 4
gpt4 key购买 nike

# 更新

我刚刚意识到 ADD/COPY 命令不允许任何访问到主机中当前工作目录之外的文件或目录。另一件事是,如果您指定文件/目录的绝对路径作为 ADD/COPY 命令后的源路径,也是不允许的。

请引用此内容,祝您黑客愉快! :)

================================================ =========================

我想在主机中的用户主目录下复制/添加文件进入同一用户的容器主目录。

首先,可以将用户更改为在每个主机上使用 Dockerfile 构建 docker 镜像的用户。例如,在我的主机中,我有一个用户“测试”。在对方的主机中,会有一个用户“新手”。在每个主机中,我的 Dockerfile 都将被构建/使用。

以下是我复制/添加文件的测试语法。

...
RUN mkdir -p /home/${USER}/.ssh

ADD /home/${USER}/.ssh/id_rsa* /home/${USER}/.ssh/
or COPY /home/${USER}/.ssh/id_rsa* /home/${USER}/.ssh/
...

当我尝试构建这个 Docker 文件时,显示以下错误。

Step 43/44 : ADD /home/user/.ssh/id_rsa* /home/${USER}/.ssh/
No source files were specified

请指导我做我想做的事。 :)谢谢。

最佳答案

问这个问题已经两年了,但我想在这里引用官方文档,该文档与@Sung-Jin Park 已经发现的内容相同。

ADD obeys the following rules:

  • The path must be inside the context of the build; you cannot ADD ../something /something, because the first step of a docker build is to send the context directory (and subdirectories) to the docker daemon.

Dockerfile reference ADD

关于docker - 如何将主机中用户主目录中的文件复制/添加到容器的主目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44252482/

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