是否有可能通过dockerFile构build图像时从.env文件获取值

我正在从dockerFile构build一个图像,并希望通过环境variablesreplace运行语句中的值,例如: –

在下面的语句中$ MYSQL_ROOT_USER通过环境variables进行replace

RUN mkdir $DIR \ sed -i "s/root/$MYSQL_ROOT_USER/g" WEB-INF/xxx-servlet.xml \ && sed -i 's/localhost/database/g' WEB-INF/xxxx-servlet.xml \ 

如果我定义ENV MYSQL_ROOT_USER = abc,那么这个值将被replace为.ie

 ENV MYSQL_ROOT_USER=abc RUN mkdir $DIR \ sed -i "s/root/$MYSQL_ROOT_USER/g" WEB-INF/xxx-servlet.xml \ && sed -i 's/localhost/database/g' WEB-INF/xxxx-servlet.xml \ 

然而,我感兴趣的是,在.env文件中设置该值,然后取代当我build立图像,但是,如果我在.env文件(而不是在dockerfile)中设置值,它将被replace为空值(可能当在构build层中运行这个语句时,环境variables没有被定义,因此被replace为一个空值)

所以我一直在想有没有什么方法来加载env-varaible在.env文件中获取在构build时加载,因此价值可以被取代?