docker - 如何在 docker-compose 中设置环境变量

标签 docker docker-compose docker-container

我有一个 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”行上提示并显示 $VAR1VAR2为空。

最佳答案

将文件重命名为 .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/

相关文章:

linux - 如何进入ubuntu docker容器的bash?

docker - GitLab CI : how to connect to the docker container started in . gitlab-ci.yml 脚本?

docker-compose 变量替换/插值与列表、映射或数组值

docker - 使用 vscode 在 docker 容器中打开一个文件

docker - 为什么 Composer create-project for Drupal 在 WSL2 中失败?

dns - Kubernetes:VPN 服务器和 DNS 问题

docker - 添加主机或 extra_host 不适用于 Windows 容器

python - 无法使用 docker-compose up 运行服务器

docker - docker组成nginx和tomcat,仅在互联网上公开nginx

docker-compose 在本地和生产环境中的每个微服务?