在Dockerfile中使用docker-compose build --build-arg中的参数

时间:2018-01-25 17:15:38

标签: linux docker sed docker-compose

我希望能够在构建时使用HOSTNAME自动替换文件中的sed来构建图像:

这是我的Dockerfile:

FROM ...            
RUN sed -i -- 's/0.0.0.0/$HOSTNAME/g' index.html

这是我的命令:

docker-compose build --build-arg HOSTNAME='justanotherhostname.com'

当我检查结果index.html时,我的路径就是这样:

path = 'http://0.0.0.0/'

到此:

path = 'http://$HOSTNAME/'

而不是这个:

path = 'http://justanotherhostname.com/'

我做错了什么?

1 个答案:

答案 0 :(得分:1)

首先,您还需要在Dockerfile中引入构建参数(如果缺少)。此外,如果您想将0.0.0.0替换为$ HOSTNAME的内容,您可以尝试将sed命令括在双引号中。

FROM ...
ARG HOSTNAME            
RUN sed -i -- "s/0.0.0.0/$HOSTNAME/g" index.html