docker - Dockerfile和环境变量

标签 docker environment-variables dockerfile

我的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/

相关文章:

postgresql - Docker for desktop - kubernetes - postgres 本地客户端

python - 未通过 .numba_config.yaml 设置 Numba 环境变量

docker - 使用自定义图像禁用 docker md5sum

java - 我可以使用多个具有不同 JDK 版本的 spring-boot 容器吗?

scala - 在Docker Alpine Linux容器上运行Scala SBT时的证书异常(exception)

docker - 无法通过使用多个端口运行多个OSRM Docker实例

Oracle SqlError : Protocol Violation/OALL8 is in an inconsistant state

Docker:保存 - 不产生输出

docker - Ansible Docker:使用容器执行外壳文件

powershell - 如何使用单个PowerShell命令查看所有计算机级别的环境变量?