安全配置实践
Docker 安全配置方法和实践
📋 目录
非 root 用户运行
在 Dockerfile 中创建用户
# 创建非 root 用户
RUN addgroup -g 1000 appuser && \
adduser -D -u 1000 -G appuser appuser
# 切换到非 root 用户
USER appuser运行时指定用户
# 使用非 root 用户运行
docker run -u 1000:1000 nginx:latest只读文件系统
使用只读根文件系统
# 只读根文件系统
docker run --read-only nginx:latest
# 只读根文件系统 + tmpfs
docker run --read-only --tmpfs /tmp nginx:latest资源限制
设置资源限制
# CPU 和内存限制
docker run -d \
--cpus="1.0" \
--memory="512m" \
nginx:latest网络隔离
使用自定义网络
# 创建隔离网络
docker network create --internal isolated-network
# 使用隔离网络
docker run --network isolated-network nginx:latest镜像安全扫描
扫描镜像
# Docker Scout
docker scout cves nginx:latest
# Trivy
trivy image nginx:latest密钥管理
使用 Docker Secrets
# 创建 secret
echo "my-secret" | docker secret create my-secret -
# 在服务中使用
docker service create --secret my-secret nginx:latest