首页/云/Docker 容器速查/docker run -u 与 -w 指定用户和目录
本包目录(366 条)
基础命令50 条
镜像与构建107 条网络与存储52 条Compose 编排55 条资源与安全50 条容器排障52 条

docker run -u 与 -w 指定用户和目录

以指定 UID/GID 和初始工作目录运行容器进程,常用于让容器以非 root 身份写挂载目录,避免产出文件属主是 root。

Docker 容器速查云更新于 2026-10-12
用途指定运行用户与工作目录
语法-u UID[:GID](或用户名) / -w 容器内路径
默认root 用户、镜像 WORKDIR

示例

示例
docker run --rm -u 1000:1000 -v $PWD:/work -w /work alpine:3.20 touch out.txt
docker run --rm -u www-data php:8.3-fpm id
容器内不存在同名用户时可以直接用数字 UID:GID,Docker 支持数值形式,不要求账号已创建。

易错点

  • 宿主目录权限按 UID 数字匹配,用户名相同不代表权限一致;跨机器时要统一 UID
  • 以非 root 运行后无法再写仅 root 可写的挂载目录,报 Permission denied 先核对目录属主

数据来源与参考

  • Docker 官方 CLI 参考:docker run --user / --workdir(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌