【问题标题】:Referencing files outside of build context在构建上下文之外引用文件
【发布时间】:2019-01-13 01:14:20
【问题描述】:

我想根据我在 .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: ../../ 

【问题讨论】:

    标签: docker docker-compose dockerfile


    【解决方案1】:

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

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

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

    并将您的 Dockerfile 更改为:

    ADD . /var/www/html
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      相关资源
      最近更新 更多