怎么给 docker compose 的 yml 中定义的容器加 -e 参数

在Docker Compose的YAML文件中,您可以使用environment字段为定义的容器添加环境变量(-e参数的对应方式)。以下是几种常见的使用方法:

  1. 使用字符串定义环境变量

    services:
      mycontainer:
        image: myimage
        environment:
          - MY_VAR=value
    
  2. 使用键值对定义环境变量

    services:
      mycontainer:
        image: myimage
        environment:
          MY_VAR: value
    
  3. 从外部文件引入环境变量

    services:
      mycontainer:
        image: myimage
        env_file:
          - ./env_file.txt
    

    env_file.txt文件中,可以使用键值对的方式定义环境变量。

如果您已经在YAML文件中定义了容器,想要为已存在的容器添加环境变量,可以使用docker-compose命令中的runexec子命令。

  1. 使用run命令

    docker-compose run -e MY_VAR=value mycontainer
    

    这将为容器mycontainer添加环境变量MY_VAR,值为value

  2. 使用exec命令

    docker-compose exec -e MY_VAR=value mycontainer echo $MY_VAR
    

    这将在运行的容器mycontainer中执行echo $MY_VAR命令,并输出环境变量MY_VAR的值。

以上都是常见的为Docker Compose容器添加环境变量的方法,在YAML文件中直接使用environment字段或通过命令行的参数来指定环境变量。根据实际需求选择适合的方式进行配置。