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

引用生成上下文之外的文件

伏业
2023-03-14

我想根据我在<代码>中构建的服务来组织我的docker图像文件。docker目录。首先,我想构建web docker容器。注意,在docker文件中,我是如何将webroot文件复制到docker容器的。问题是,在我的docker compose中。yml,当构建图像时,它引用来自的根。docker/web目录,而不是实际的webroot。我尝试在docker文件中使用相对路径,但似乎不起作用。你知道我该怎么做吗?

version: '3'
services:
  web:
      build:
        context: .docker/web
        dockerfile: Dockerfile

Dockerfile

FROM webdevops/php-apache-dev

ADD ./../../ /var/www/html

错误

ERROR: Service 'web' failed to build: ADD failed: Forbidden path outside the build context: ../../ 

共有1个答案

隗锐进
2023-03-14

看到更多您正在使用的目录树会很有帮助,但我将猜测您正在尝试做什么。

docker-compose.yml中的上下文设置定义了作为第一个参数传递给ADD的相对路径的起点,并且相对路径不能指向高于树中的目录。如果我正确理解你的情况,你应该能够做到:

version: '3'
services:
  web:
      build:
        context: .
        dockerfile: .docker/web/Dockerfile

并将您的Dockerfile更改为:

ADD . /var/www/html
 类似资料:
  • 我有以下文件夹结构: 我有我的micro-hr文件夹,其中是我的主包,我有一个本地lib,它是rabbitmq 这是我的dockerfile: docker撰写: 这是我的包裹。我的主包后端/微hr上的json: 我不知道我错在哪里,基本上我在我的主包中使用npm链接链接到我的lib,并尝试在docker中创建文件夹,但无济于事。 docker构建错误: 步骤6/10:复制/rabbitmq/包。

  • 我有一个包含各种Go服务和库的monorepo。目录结构如下所示: 这<代码>开始。mod文件位于monorepo目录的根目录中,服务使用该文件中声明的依赖项。 我使用以下命令构建Docker图像: 当我尝试使用上述Docker命令从monorepo目录的根构建Docker图像时,我得到以下错误: 复制失败:生成上下文之外的禁止路径:/去mod() 下面是我的Dockerfile 我需要做些什么才

  • 问题内容: 我发现将硬编码的字符串保留在我的代码之外真是太棒了,我想继续在实用程序类中使用它,该实用程序类与我的应用程序中的模型一起生成输出。例如,在这种情况下,我从活动之外的模型生成电子邮件。 是否可以在或外使用?我想我可以通过当前活动,但这似乎没有必要。如果我错了,请纠正我! 编辑:我们可以 不 使用访问资源吗? 问题答案: 是的,我们无需使用“上下文”就可以访问资源 您可以使用: …在应用程

  • 我试图实现的是:我想在一个容器中缓存当前的users目录,以便在构建另一个容器时使用它们。 以下是的内容: 在我的服务Dockerfile中,我有以下内容: docker compose没有将服务中的路径视为与docker-compose.yml相关的路径,而是假设它与路径相关。是否可以让docker-compose从与docker-compose.yml相同的目录加载并按照我的方式设置上下文?

  • 路径必须在生成的上下文中;您不能添加../something/something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护进程。 我不想重组我的整个项目只是为了在这件事上容纳Docker。我想把我所有的Docker文件都保存在同一个子目录中。 此外,Docker似乎还不支持(可能永远也不支持)符号链接:Dockerfile ADD命令不跟随主机#1676上的符号

  • 我想编写一个服务,同时保持项目的文件结构整洁。但是Docker似乎在构建上下文之外的路径上有问题。我正在创建一个包,并想将所有与Docker相关的东西保存在项目根目录下的文件夹中。但是我找不到从和引用项目文件的方法。创建容器时,必须复制项目中的文件。 这是我目前的项目结构: 现在,如果我和,我尝试了两种可能性。要么我的Dockerfile使用,要么撰写文件具有构建指令,例如: 第一种方法不起作用。