我的Dockerfile行为异常。我试图用来自环境变量的文本来写文件:
FROM ubuntu:14.04
ENV KEY ''
ENV VAL ''
RUN echo "${KEY}:${VAL}" > /etc/test
CMD []
我建立了这个图像并像这样运行它:
docker run -it --rm -e KEY=aaa -e VAL=bbb mytest
如果显示/ etc / test文件,则该文件为空(存在,但为空)。似乎在创建文件时未设置环境变量。
任何的想法?
谢谢
最佳答案
当您使用RUN echo "${KEY}:${VAL}" > /etc/test
构建镜像时执行docker文件docker build ...
中的命令
因此这是合乎逻辑的,因为此时env变量为空。
您需要将commad移动到CMD命令时,图像开始将运行。
关于docker - Dockerfile和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46642391/