通过shellfunction复制位置资源

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

where-is-my-asset 

这怎么可以在Dockerfile中与COPY命令结合? 通常我做:

 COPY app.json /usr/src/app 

但现在我需要做的是:

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

ARG会让你为构build定义一个dynamic参数,但我不相信你可以在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 .