我希望能够在构建时使用sed
在构建时自动替换文件中的HOSTNAME
来构建映像:
这是我的 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/'
我做错了什么?
首先,您需要在 Dockerfile 中引入构建参数(以防丢失(。此外,如果要将0.0.0.0
替换为$HOSTNAME的内容,可以尝试将 sed 命令括在双引号中。
FROM ...
ARG HOSTNAME
RUN sed -i -- "s/0.0.0.0/$HOSTNAME/g" index.html