首页 > 解决方案 > 如何在 dockerfile 中使用 .ENV 文件中的变量?

问题描述

我有 2 个文件,第一个是 ( dockerfile),第二个是 (),test.env当我运行 dockerfile 时,我希望它将变量 aaa which = to index.php 从 test.env

码头文件:

FROM php:7.2.2-apache
ENV test.env ${aaa} 
COPY ${aaa} /var/www/html

测试环境:

aaa='index.php'

任何帮助将不胜感激谢谢

标签: dockerdockerfile

解决方案


您可以提供要在构建阶段使用的变量作为构建参数。环境变量可以被容器使用,但不能用于构建镜像。

对于您的问题:

docker build $(sed 's/^/ --build-arg /g' test.env | xargs) -t <your_image_tag> .

如果您在 test.env 中定义了未在 Dockerfile 中声明为参数 (ARG) 的变量,您将收到警告。

你的 Dockerfile 应该是:

FROM php:7.2.2-apache

ARG aaa

COPY ${aaa} /var/www/html

推荐阅读