复制通过shell函数找到位置的资产

时间:2016-09-09 05:01:07

标签: docker dockerfile

我有一个资产需要复制到docker镜像,但我的位置我事先不知道:我需要运行一个shell命令来找到它:

where-is-my-asset

如何将它与Dockerfile中的COPY命令结合使用?通常我会这样做:

COPY app.json /usr/src/app

但现在我需要这样做:

COPY `where-is-my-asset` /usr/src/app

1 个答案:

答案 0 :(得分:4)

ARG将允许您为构建定义动态参数,但我不相信您可以在Dockerfile中运行命令来填充参数。

你可以事先找到它。使用像...这样的Dockerfile。

FROM busybox
ARG assetfile
COPY $assetfile /somehwere

然后运行

docker build --build-arg assetfile="$(where-is-my-asset)" .

与在shell中执行此操作没有太大区别。

cp "$(where-is-my-asset)" .
docker build .