【问题标题】:How to set docker-compose.yaml environment variable from a shell output?如何从 shell 输出设置 docker-compose.yaml 环境变量?
【发布时间】:2022-08-08 23:35:45
【问题描述】:

我想为 Raspberry Pi 的 CPU 序列设置一个环境。使用 CLI 很容易:

docker run -e DEVICE_ID=$( cat /proc/cpuinfo | grep Serial | cut -d \":\" -f2 | xargs ) ...

我怎样才能在docker-compose.yaml 文件中完成同样的事情?

    标签: docker docker-compose


    【解决方案1】:

    docker-compose.yaml 文件不提供从命令输出设置环境变量的任何机制。但是,它确实允许您从环境中替换环境变量,因此如果您像这样编写 docker-compose.yaml

    version: "3"
    
    services:
      myservice:
        environment:
          DEVICE_ID: $DEVICE_ID
        ...
    

    然后你可以像这样开始你的堆栈:

    DEVICE_ID=$(cat /proc/cpuinfo | grep Serial | cut -d ":" -f2 | xargs) docker-compose up
    

    【讨论】:

      猜你喜欢
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2021-08-19
      • 2013-02-06
      • 2016-04-10
      • 2014-10-27
      • 2018-06-14
      相关资源
      最近更新 更多