Dockerfile - 如何通过读取本地文件的内容来设置ENV变量

时间:2018-03-13 11:41:01

标签: docker dockerfile

我正在研究Ruby应用程序,并设置要在.ruby-version文件中使用的版本。

2.5.0

我使用Docker来部署应用程序,并在我的Dockerfile中设置要安装在环境变量中的版本。

ENV RUBY_VERSION 2.5.0

我希望能够在构建时引用.ruby-version文件中的值,而不是硬编写版本。

因此,我需要在一个地方而不是多个地方更新价值。

我环顾四周,但似乎没有解决我的问题。

1 个答案:

答案 0 :(得分:0)

您可以使用

  

- build-arg varname = value

使用docker build构建时。所以你的dockerfile将包含

  

ARG RUBY_ARG

您可以使用ARG

设置环境变量
  

ENV RUBY_ENV = $ RUBY_ARG

,命令为:

  

docker build --build-arg RUBY_ARG = version。

您可以使用bash功能从文件中读取并将其作为ARG传递。