我有一个 docker-compose 文件,我在其中使用 env_file
在运行时读取和设置一堆环境变量。这些环境变量是我需要在运行时使用 command
运行的命令所必需的。 .但是它看起来像 command
在运行时设置环境变量之前执行部分,这会导致错误。如何确保在执行 command
之前设置环境变量? docker-compose 中的部分?
这是我的 docker-compose 文件
services:
mlx-python-hdfs:
image: image_name
container_name: cname
env_file: ./variables.txt
command:
- microservice $VAR1 $VAR2
$VAR1
和 $VAR2
从 variables.txt 文件中读取,但是当我启动容器时,它会在“microservice $VAR1 $VAR2”行上提示并显示 $VAR1
和 VAR2
为空。
最佳答案
将文件重命名为 .env
(无名)所以mv variables.txt .env
编辑您的 compose
:
services:
mlx-python-hdfs:
image: image_name
container_name: cname
command:
- microservice $VAR1 $VAR2
然后正常运行
见 this
关于docker - 如何在 docker-compose 中设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57773564/