我有一个 Assets 需要复制到docker镜像,但是我事先不知道其位置:我需要运行一个shell命令来找到它:
where-is-my-asset
如何将其与Dockerfile中的
COPY
命令结合使用?通常我会:COPY app.json /usr/src/app
但是现在我需要做的是:
COPY `where-is-my-asset` /usr/src/app
最佳答案
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 .
关于docker - 通过外壳功能复制具有位置的 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404152/