【发布时间】:2020-08-19 07:14:26
【问题描述】:
考虑以下 docker 构建上下文:
src/
hi
there
bye
和 Dockerfile:
FROM ubuntu
RUN mkdir test
COPY src/hi src/there test/
这很好用,但我想制作文件列表以复制 ARG,类似于:
FROM ubuntu
ARG files
RUN mkdir test
COPY ${files} test/
不幸的是,使用docker build --build-arg files='src/hi src/there' some_path 调用失败,因为它将src/hi src/there 视为单个项目。如何将files 参数“扩展”到多个文件中进行复制?
一时兴起,我尝试多次指定文件 arg:docker build --build-arg files='src/hi' --build-arg files='src/there' some_path,但这只会复制“那里”。
【问题讨论】:
-
您应该考虑将文件排除到另一个目录(例如 project_root/docker/....)并复制整个目录。会干净很多。
-
欣赏这个建议,但不幸的是,这对我不起作用,因为这是先复制一些文件,然后再做一些事情,然后再复制一些其他文件的问题。重点是更好地利用缓存。文件集将根据构建类型而变化
-
我也有同样的问题!
-
你试过用双引号吗?比如:docker build --build-arg files="src/hi src/there" some_path
标签: docker copy dockerfile