首页/云/Docker 容器速查/环境变量传密钥的泄露面
资源与安全50 条

环境变量传密钥的泄露面

环境变量不是密钥保管箱:docker inspect、宿主 /proc/<pid>/environ 与异常转储都可能带出全部 Env,密码与令牌优先用文件挂载或 secrets 机制。

Docker 容器速查云更新于 2026-10-12
风险面inspect 输出 / 宿主 proc / 崩溃转储 / 日志
检测docker inspect -f '{{json .Config.Env}}' 看里面有什么
缓解只读文件挂载、编排 secrets、构建期 BuildKit secret

示例

示例
docker inspect -f '{{json .Config.Env}}' web
docker exec web sh -c 'xargs -0 -n1 < /proc/1/environ | head -20'
构建期与运行期的密钥通道要分开治理,构建期不要用 ARG 传密钥。

易错点

  • 把密钥写进 -e 参数还会进 shell 历史与宿主进程列表,至少改用 --env-file 并控制文件权限
  • 应用日志打印环境变量的调试行为要纳入代码规范,泄露往往从这里发生

数据来源与参考

  • Docker 官方文档:Build secrets 与 run secrets 相关章节(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌