首页/云/Docker 容器速查/容器内使用非 root 用户运行
资源与安全50 条

容器内使用非 root 用户运行

镜像尽量以内置非 root 用户启动(USER 指令或 --user 指定):缩小应用被攻破后可触达的权限面,是容器安全的基础动作。

Docker 容器速查云更新于 2026-10-12
手段Dockerfile USER / docker run --user uid:gid
检查docker image inspect -f '{{.Config.User}}'
影响卷与绑定目录属主需配套调整

示例

示例
docker image inspect -f '{{.Config.User}}' nginx:1.27-alpine
docker run -d --user 1000:1000 -v appdata:/data --name api app/api:1.4.2
docker exec api id
基础镜像自带可用低权限账号(如 node)时优先复用;自建镜像在构建期创建专用用户与目录权限。

易错点

  • 切非 root 后写卷、写缓存目录失败是常见现象,构建期把目录属主授权到位
  • 只改启动用户不改目录权限,应用会在运行期才暴露问题,上线前完整回归

数据来源与参考

  • Docker 官方文档:User 与安全实践(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌