在构建上下文之外引用文件

时间:2019-01-12 16:39:29

标签: docker docker-compose dockerfile

我想根据我在.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 个答案:

答案 0 :(得分:3)

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

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

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

然后将您的Dockerfile更改为:

ADD . /var/www/html