USER

指令

格式1:USER <用户名>[:<用户组>] 或
格式2:USER <UID>[:<GID>]

描述

USER 指定当前用户。USER 指令和 WORKDIR 相似,都是改变环境状态并影响以后的层。WORKDIR 是改变工作目录,USER 则是改变之后层的执行 RUN, CMD 以及 ENTRYPOINT 这类命令的身份。

WORKDIR 一样,USER 只是帮助你切换到指定用户而已,这个用户必须是事先建立好的,否则无法切换。

镜像构建完成后,通过docker run运行容器时,可以通过-u参数来覆盖所指定的用户。

示例

创建一个用户后使用该用户运行服务

RUN groupadd -r redis && useradd -r -g redis redis
USER redis
RUN [ "redis-server" ]