当前位置: 首页 > 知识库问答 >
问题:

如何包含Docker构建上下文之外的文件?

邬飞捷
2023-03-14

路径必须在生成的上下文中;您不能添加../something/something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。

我不想重组我的整个项目只是为了在这件事上容纳Docker。我想把我所有的Docker文件都保存在同一个子目录中。

此外,Docker似乎还不支持(可能永远也不支持)符号链接:Dockerfile ADD命令不跟随主机#1676上的符号链接。

我唯一能想到的其他事情是包含一个预构建步骤,将文件复制到Docker构建上下文中(并配置我的版本控制以忽略那些文件)。还有比这更好的解决办法吗?

共有1个答案

白永昌
2023-03-14

解决这一问题的最佳方法是使用-f独立于构建上下文指定Dockerfile。

例如,此命令将授予ADD命令访问当前目录中的任何内容的权限。

docker build -f docker-files/Dockerfile .

更新:Docker现在允许将Dockerfile置于构建上下文之外(在18.03.0-CE中修正,https://github.com/Docker/cli/pull/886)。所以你也可以做一些类似的事情

docker build -f ../Dockerfile .
 类似资料:
  • 问题内容: 如何使用Docker文件中的“ ADD”命令从Docker构建上下文之外包含文件? 从Docker文档中: 路径必须在构建上下文内;您不能添加../something/something,因为Docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。 我不想为了适应Docker而重组我的整个项目。我想将所有Docker文件保留在同一子目录中。 此外,似乎Docker

  • 这基本上是关于如何包含Docker构建上下文之外的文件的后续问题:我在我所有的项目中都使用了大文件(几GB),这些文件保存在一个外部驱动器上,仅用于开发。 我想在构建docker容器时或

  • 问题内容: 我想在某种类型的全局项目目录中有一个模块,以便可以在使用该通用代码的所有其他项目中包含该模块。 但是,我怎样才能告诉Maven父母包括并编译这个全局共享模块呢?以下内容不起作用: 父pom.xml: 结果是: 问题答案: 如果您在该全局项目上运行,它将被安装在本地存储库中。然后,其他项目可以将其引用为依赖项: 这种简单化方法的缺点是,其他项目只有在检出并运行后才能编译。 一种更高级的方

  • 这样才是真的。 如果构建过程压缩了当前目录内容并将其发送到守护进程,那么它会去哪里呢?为什么不让这些内容在图像中使用呢?

  • 问题内容: 我正在使用eclipse使用ant构建耳朵文件。我正在使用oc4j,并且我想确保在构建中包含orion- application.xml。我当前正在使用但不起作用的是: 将其添加到耳朵的正确方法是什么? 问题答案: 蚂蚁EAR任务 应通过嵌套文件集指定应放入文件夹的所有内容:

  • 问题是需要将单行数据格式化为具有适当列的R data.frame以将行数据存储为列数据。原始数据格式是一个文本文件,有2行标题,N行数据。数据在单个列中。需要将其格式化为单独的列。基本上,如何将文本从每一列到另一列拆分为一个新的Data.Frame? 输入示例: 例如,输入包含两行,它们由组合的1)头名,2)子头名,以及N个包含一列所有数据的行组成,例如,RD,I,01,027,000,881,0