在Docker中设置dynamicEnvvariables

我想在Docker中设置dynamicenvvariables,但不知何故它重置。 我想设置一个具有值的ENVvariables:

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

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

我尝试了一个init.sh,并在Dockerfile中使用了CMD["init.sh"] ,但是当我连接到Dockerfile进程时,envvariables是空的。

对于docker工人来说,我是一个新的神话,并且还在探索select

提前致谢 !

您可以使用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)