先缩小暴露面
并不是每个容器都需要对整个局域网开放端口,更不需要默认向公网开放。内部数据库和后台服务可以只加入专用 Docker 网络,不发布宿主机端口;确实需要公开的端口,再由防火墙明确控制访问范围。
不要习惯性使用最高权限
privileged: true、宿主机网络和挂载 Docker socket 都会扩大容器的操作范围。只有在明确理解需求时才使用,并优先考虑非 root 运行、只读文件系统以及按需添加能力。
敏感配置不应写进公开仓库
数据库密码、令牌和密钥应与版本控制中的 Compose 模板分离。.env 文件在使用上方便,但它不是加密保险箱;要限制文件权限、避免写入日志,并在需要更严格管理时考虑专门的密钥方案。
镜像也要有来源意识
优先使用可信维护者的镜像,关注更新记录,避免长期依赖不固定的 latest。为关键镜像指定版本或摘要,可以让重建结果更加可控。
最后留一条恢复路径
真正的安全还包括备份和恢复能力。定期测试备份、记录服务依赖、保留必要的配置文件,往往比安装很多花哨的监控工具更有实际价值。
以上内容用于经验交流。实际操作前,请核对设备型号、软件版本与官方说明,并备份重要配置。