【发布时间】: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
我想为 Raspberry Pi 的 CPU 序列设置一个环境。使用 CLI 很容易:
docker run -e DEVICE_ID=$( cat /proc/cpuinfo | grep Serial | cut -d \":\" -f2 | xargs ) ...
我怎样才能在docker-compose.yaml 文件中完成同样的事情?
标签: docker docker-compose
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
【讨论】: