【发布时间】:2016-09-23 21:16:49
【问题描述】:
在 docker build 期间,我需要运行一个 bash 脚本,它会设置一些环境变量。
脚本如下所示:
#!/bin/bash
export ENVVAR=TEST
export HOST=local
export PORT=port
我尝试以不同的方式在我的 dockerfile 中调用此脚本,但它们都不起作用。我试过这些:
ADD ./myscript.sh
RUN chmod +x /myscript.sh;\
/bin/bash -c 'source ./myscript.sh';\
/bin/bash -c 'source /myscript.sh';\
/bin/bash -c source ./myscript.sh;\
/bin/bash -c source /myscript.sh;\
source ./myscript.sh;\
source /myscript.sh;\
/myscript.sh;\
./myscript.sh;\
ENTRYPOINT ["/bin/bash"]
当然,我的 RUN 中只有这些命令之一,我只是将它们分组放在此处。
如果我运行容器并使用source ./myscript.sh,它会按预期工作。
由于多重限制和其他原因,我无法使用 docker compose、-e 参数、dockerfile 中的 ENV KEY VALUE 或类似方法。我需要在 docker build 过程中设置环境变量。
【问题讨论】: