首页/云/Docker 容器速查/镜像非 root 运行实践
镜像与构建107 条

镜像非 root 运行实践

容器内以非 root 身份运行应用:配合专用账号、文件属主与目录权限,让漏洞利用的影响面收敛在可管范围内。

Docker 容器速查云更新于 2026-10-12
手段USER 指令 / docker run --user / 编排 runAsUser
UID 规划使用高位 UID(如 10001)减少与宿主账号撞号
配套COPY --chown、目录预建

示例

示例
RUN useradd -r -u 10001 -m appuser
WORKDIR /app
COPY --chown=10001:10001 . .
USER 10001
ENTRYPOINT ["/app/server"]
验证实际身份:docker exec <容器> id;编排环境里镜像 USER 可能被 runAsUser 覆盖。

易错点

  • 工作目录或数据目录属主还是 root 时,非 root 进程写文件失败,注意用 --chown 与预建目录
  • 只改 USER 不改端口:绑定 1024 以下端口需要特权,非 root 要改用高位端口或加权限能力

数据来源与参考

  • Docker 官方文档:Security 非 root 实践(docs.docker.com/engine/security)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌