安全配置实践

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

📚 参考资源


相关笔记