Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Docker构建期间从外部绝对位置添加文件?_Docker - Fatal编程技术网

在Docker构建期间从外部绝对位置添加文件?

在Docker构建期间从外部绝对位置添加文件?,docker,Docker,我试图修改一个Dockerfile,其中包含如下代码: ARG FILE_SOURCE_DIR ADD ${FILE_SOURCE_DIR}/check-md5.sh /download/ ADD ${FILE_SOURCE_DIR}/app /app/ ADD ${FILE_SOURCE_DIR}/R/JRI.jar /download/ ADD ${FILE_SOURCE_DIR}/R/JRIEngine.jar /download/ ADD ${FILE_SOURCE_DIR}/R/RE

我试图修改一个
Dockerfile
,其中包含如下代码:

ARG FILE_SOURCE_DIR

ADD ${FILE_SOURCE_DIR}/check-md5.sh /download/
ADD ${FILE_SOURCE_DIR}/app /app/
ADD ${FILE_SOURCE_DIR}/R/JRI.jar /download/
ADD ${FILE_SOURCE_DIR}/R/JRIEngine.jar /download/
ADD ${FILE_SOURCE_DIR}/R/REngine.jar /download/
   \downloads
   \images
       \kafka
           Dockerfile
我的生成环境如下所示:

ARG FILE_SOURCE_DIR

ADD ${FILE_SOURCE_DIR}/check-md5.sh /download/
ADD ${FILE_SOURCE_DIR}/app /app/
ADD ${FILE_SOURCE_DIR}/R/JRI.jar /download/
ADD ${FILE_SOURCE_DIR}/R/JRIEngine.jar /download/
ADD ${FILE_SOURCE_DIR}/R/REngine.jar /download/
   \downloads
   \images
       \kafka
           Dockerfile
我想将
FILE\u SOURCE\u DIR
作为相对路径传递(根据文档),但我无法获得正确的语法-无论我如何尝试,都会出现类似以下错误:

 ADD failed: stat /var/lib/docker/tmp/docker-builder187920988/downloads/check-md5.sh: no such file or directory
有时我会这样:

ADD failed: Forbidden path outside the build context: ../../downloads/check-md5.sh ()
我知道路径必须是相对于上下文目录的路径,但正如我所说的,我尝试的任何方法似乎都不起作用:

"../../downloads"
"..\..\downloads"
"C:\path\downloads\"
Docker ADD命令是否仅限于上下文中的内容?如果是,如何在多个上下文中包含同一个文件

ADD遵循以下规则:

路径必须在生成的上下文中


从。

可以使用-f指定Kafka文件夹外的Dockerfile

docker build -t tag-name -f images/kafka/Dockerfile .

这样您就可以访问下载文件夹了

刚刚发现了这个问题。。。。看起来唯一的方法是从远程HTTP://URL添加文件。在我们的例子中,我们建立了一个Tomcat实例,并从中提取文件。从文档中:
如果是URL,并且没有以斜杠结尾,则从URL下载文件并复制到。