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

Docker Compose是否会记录通过env_file加载的环境变量?

问题背景

我们可以通过如下方式将数据加载至容器:

vars.env 文件内容

FOO=123
BAR=abc

docker-compose.yml 文件内容

my_service:
  image: my_image
  env_file:
    - ./vars.env
  # ...

请问这些通过env_file加载的环境变量是否会被记录?(我在Linux系统上运行容器。)


回答

这些通过env_file加载的环境变量会被多处记录,具体如下:

  • 容器运行时环境:变量会直接注入容器的运行环境,你可以通过docker exec <容器ID/名称> env或者在容器内执行printenv命令查看,容器内的所有进程都能读取到这些变量的明文值,如果进程有日志记录环境变量的逻辑,这些值也会被写入日志。
  • Docker本地存储与配置:
    • 执行docker inspect <容器ID/名称>,输出的Config.Env字段里会明文显示这些环境变量;
    • 运行docker-compose config命令,会输出解析后的完整Compose配置,其中包含这些变量的明文值;
    • 这些信息会被存储在Docker的本地数据目录(通常是/var/lib/docker)下的相关文件中,拥有Docker权限或root权限的本地用户可以直接查看。

注意:不要将敏感信息(如密码、密钥)通过env_file传递,因为这些值会以明文形式暴露在多个地方,存在泄露风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 12:02:03