7.11 USER 指定当前用户
7.11.1 基本语法
USER <用户名>[:<用户组>]
USER <UID>[:<GID>]7.11.2 为什么要使用 USER
7.11.3 基本用法
创建并切换用户
FROM node:20-alpine
## 1. 创建用户和组
RUN addgroup -g 1001 appgroup && \
adduser -u 1001 -G appgroup -D appuser
## 2. 设置目录权限
WORKDIR /app
COPY --chown=appuser:appgroup . .
## 3. 切换用户
USER appuser
## 4. 后续命令以 appuser 身份运行
CMD ["node", "server.js"]使用 UID/GID
7.11.4 用户必须已存在
创建用户的方式
选项
说明
7.11.5 运行时切换用户
使用 gosu (推荐)
为什么不用 su/sudo
问题
su/sudo
gosu
7.11.6 运行时覆盖用户
7.11.7 文件权限处理
7.11.8 最佳实践
1. 始终使用非 root 用户
2. 使用固定 UID/GID
3. 多阶段构建中的 USER
7.11.9 常见问题
Q:权限被拒绝
Q:无法绑定低于 1024 的端口
最后更新于