首页/云/云与容器速查/配置注入方式:环境变量 vs 挂载卷
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条容器与 Docker106 条
Kubernetes68 条
容器排障33 条

配置注入方式:环境变量 vs 挂载卷

两种注入各有代价:env 简单但改值必须重建 Pod;卷挂载支持热更新但可能有 subPath 不更新、文件权限、目录覆盖等细节坑。按组件行为选型。

云与容器速查云更新于 2026-10-12

方式对照

维度环境变量挂载卷
更新生效需重启 PodConfigMap/Secret 约 1 分钟同步
使用难度简单直觉涉及路径与权限
热更新支持不支持支持(应用需重读)
subPath 陷阱无subPath 挂载不接收更新
适用启动参数/开关配置文件/证书轮转

挂载示例

挂载示例
volumes:
  - name: conf
    configMap:
      name: app-conf
  - name: tls
    secret:
      secretName: app-example-tls
containers:
  - name: app
    image: registry.example.com/team/app:1.2.3
    volumeMounts:
      - { name: conf, mountPath: /etc/app, readOnly: true }
      - { name: tls, mountPath: /etc/tls, readOnly: true }
证书轮转常选挂载卷 + 应用热加载;nginx 等进程需要 reload 信号时可配 reloader 类工具实现自动重启。

易错点

  • 挂载目录覆盖镜像内容:原目录文件被替换,启动脚本找不到
  • subPath 方式挂载:更新永远同步不到,热更新承诺落空

数据来源与参考

  • Kubernetes Docs:ConfigMap
  • Kubernetes Docs:Secrets(Using Secrets)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌