如何访问Dockerfile中声明的环境变量?

时间:2018-01-29 12:48:02

标签: tomcat docker dockerfile

如何访问Dockerfile中声明的env变量(USER)?

Dockerfile:

(...)    
ENV USER="username"

例如,我必须在我的context.xml配置Tomcat文件中读出它们:

<Resource type="javax.sql.DataSource"
    (...)
    username="$USER"
    (...)
/>

有人知道语法吗?

3 个答案:

答案 0 :(得分:2)

在没有任何操作的情况下,无法将ENV变量注入文件else if ($('#cb').is(':checked')) {

您可以执行以下操作:

1。

context.xml文件中添加一些众所周知的模式,例如context.xml,并在构建泊坞窗图片时更改它:

username=USERNAME_TO_CHANGE

<强> 2

使用envsubst替换文件中的环境变量及其对应的值。为此,您需要在图片中安装RUN sed -i "s/username=USERNAME_TO_CHANGE/username=$USER/g" context.xml 个包,并将gettext重命名为context.xml。之后,您只需在context.xml-template中执行以下操作:

Dockerfile

答案 1 :(得分:0)

像这样解析。ENV USER "UserName"

答案 2 :(得分:0)

环境变量可以声明为:

ENV JAVA_OPTS=-Ddatabase.url=jdbc:mysql://0.0.0.0:3306/projectname?useSSL=false

并且de variable可以在context.xml中使用,如:

<Resource type="javax.sql.DataSource"
(...)
username="${USER}"
(...)
/>