图像需要运行环境变量,如何在Dockerfile上传递变量

时间:2018-02-02 23:55:04

标签: docker dockerfile

我正在尝试基于realm / realm-object-server映像构建Dockerfile。 要使用该映像创建容器,我必须运行命令:

  

$ docker run -p 9080:9080 -e ROS_TOS_EMAIL_ADDRESS =“your-email-address”   realm / realm-object-server

提供电子邮件。

我的Dockerfile启动:

  

FROM realm / realm-object-server:latest

如何将ROS_TOS_EMAIL_ADDRESS环境变量传递给FROM图像?否则,在执行realm-object-server时会出现错误。

2 个答案:

答案 0 :(得分:1)

哦,没关系。

ENV ROS_TOS_EMAIL_ADDRESS =" email-goes-here"在FROM工作之后。 我认为它必须在FROM之前设置,只有ARG是可能的,它没有将环境变量设置为Dockerfile上下文的变量。

现在可行。

答案 1 :(得分:1)

有多种方法可以将env变量传递给docker。

  • 在Dockerfile中使用ENV。请参阅here
  • docker run命令中使用-env-file选项。请参阅here
  • docker run命令中使用-e选项。请参阅here
  • 在docker-compose
  • 中使用environment

根据你的问题,第一个就够了。