2016-09-09 43 views
1

我有一個需要複製到泊塢窗圖像的資產,但其位置我不事先知道:我需要運行一個shell命令找到它:複製資產與位置通過shell功能發現

where-is-my-asset 

這怎麼可以在Dockerfile中與COPY命令結合?通常我做:

COPY app.json /usr/src/app 

但現在我需要做的:

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

回答

4

ARG將讓你定義一個動態的參數來構建,但我不相信你可以在Dockerfile運行命令填充論點。

您可以事先收集它。隨着Dockerfile像...

FROM busybox 
ARG assetfile 
COPY $assetfile /somehwere 

然後運行

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

這是沒有太大的不同,只是在做它的外殼。

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

是的,我得到了自己的相同結論:只是在調用'docker build'之前準備目錄 – dangonfast