Docker2026-04-15·7 分钟
Docker 安全与镜像扫描
介绍 Docker 安全风险、镜像扫描、运行时加固与最小权限实践。
Docker 安全与镜像扫描
1. 镜像安全风险
- 依赖的基础镜像可能包含已知漏洞。
- 镜像层中可能包含敏感凭据或密钥。
- 运行时容器权限过高会扩大攻击面。
2. 镜像扫描工具
常见工具:
trivygrypedocker scanclair
bash
trivy image myapp:1.0.03. 最小权限原则
- 尽量使用非 root 用户运行容器。
- 限制容器能力:
--cap-drop=ALL、--cap-add=。 - 只挂载必需卷,避免读写宿主机敏感目录。
bash
docker run --rm -u 1000:1000 --cap-drop=ALL --cap-add=NET_BIND_SERVICE myapp:latest4. 镜像内容检查
- 使用
docker history查看镜像层。 - 通过
docker run --rm -it image sh进入容器检查文件。
bash
docker history myapp:latest
docker run --rm -it myapp:latest sh5. 运行时安全加固
- 使用
--read-only只读文件系统。 - 指定
--tmpfs /tmp让临时目录驻留内存。 - 使用
--pids-limit防止 fork 炸弹。
bash
docker run --rm --read-only --tmpfs /tmp --pids-limit=100 myapp:latest6. 镜像更新与生命周期
- 及时更新基础镜像和依赖。
- 删除不再使用的镜像,避免长期持有已知漏洞库。
- 定期对 CI/CD 产物进行扫描。
7. 额外建议
- 使用
docker content trust验证镜像签名。 - 在私有注册表中启用访问控制和审计日志。
- 对构建环境和部署环境分别设定不同的安全策略。
Docker安全镜像扫描