在Docker中设置动态Env变量

时间:2017-07-07 08:58:44

标签: docker docker-compose dockerfile docker-machine

我正在尝试在Docker中设置动态env变量但不知何故它会重置。 我想设置一个具有值的ENV变量:

export EC2_Region=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone) 

所以我不能在ENV中使用Dockerfile,因为它不是静态的。

我尝试创建一个init.sh并在CMD["init.sh"]中使用Dockerfile但是当我附加到docker进程时,env变量为空。

我是码头工人的新手,还在探索各种选择。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用ENTRYPOINT而不是CMD。

示例Dockerfile:

FROM ubuntu:14.04
COPY init.sh /
RUN chmod +x /init.sh
ENTRYPOINT ["/init.sh"]

init.sh:

export EC2_Region=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone)