Files
docker_practice/security
2026-01-11 10:05:49 -08:00
..
2021-03-07 15:29:05 +08:00
2021-03-07 15:29:05 +08:00
2020-09-06 21:04:01 +08:00
2021-03-07 15:29:05 +08:00
2021-03-07 15:29:05 +08:00
2026-01-11 10:05:49 -08:00
2021-03-07 15:29:05 +08:00

安全

容器安全是生产环境部署的核心考量。评估 Docker 的安全性时,主要考虑以下几个方面:

核心安全机制

  • 内核命名空间Namespace:提供进程、网络、文件系统等资源的隔离
  • 控制组Cgroups:限制容器的 CPU、内存、I/O 等资源使用
  • Docker 守护进程安全:服务端的访问控制和防护
  • 内核能力机制Capabilities:细粒度的权限控制

现代安全实践

镜像安全扫描

使用工具扫描镜像中的已知漏洞:

  • Docker ScoutDocker 官方集成的安全扫描工具,提供 SBOM 分析
  • Trivy:开源的全面漏洞扫描器
  • Snyk:商业级安全平台
# 使用 Docker Scout 扫描镜像
$ docker scout cves myimage:latest

# 使用 Trivy 扫描
$ trivy image myimage:latest

非 root 用户运行

避免以 root 用户运行容器,降低权限逃逸风险:

FROM node:20-alpine
RUN addgroup -g 1001 appgroup && adduser -u 1001 -G appgroup -D appuser
USER appuser

只读文件系统

使用只读根文件系统增强安全性:

$ docker run --read-only --tmpfs /tmp myimage

Docker Content TrustDCT

启用镜像签名验证,确保镜像来源可信:

$ export DOCKER_CONTENT_TRUST=1
$ docker pull myregistry/myimage:latest

本章内容

本章将详细介绍各安全机制的原理和配置方法。