You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否可以通过标准输入为docker-compose指定env-file配置?

docker-compose 无需实体env文件传入指定前缀环境变量的方案

有两种成熟的实现方式,均无需创建实体env文件:

方案1:沿用进程替换逻辑(和docker run用法对齐)

docker-compose支持直接在命令行通过--env-file参数接收进程替换的临时文件输入,用法如下:

docker-compose --env-file <(env | grep ^APP_) up -d

注意:--env-file是docker-compose的全局参数,必须放在up/run等子命令之前,不能写在子命令后面。
该方法依赖当前shell支持进程替换特性,仅兼容bash、zsh等常用shell,sh、dash等极简shell无法使用。

方案2:直接在docker-compose.yml中匹配宿主机环境变量(更简洁)

1.29及以上版本的docker-compose支持环境变量通配符匹配,你可以直接在服务的environment配置段声明要导入的前缀变量,不需要额外传参:

services:
  你的服务名:
    # 直接导入宿主机所有APP_前缀的环境变量
    environment:
      - APP_*

配置完成后直接执行docker-compose up -d即可自动导入所有匹配的环境变量。


内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 13:48:03