1. USER
1.1. 指令
格式1:USER <用户名>[:<用户组>] 或
格式2:USER <UID>[:<GID>]
1.2. 描述
USER 指定当前用户。USER 指令和 WORKDIR 相似,都是改变环境状态并影响以后的层。WORKDIR 是改变工作目录,USER 则是改变之后层的执行 RUN, CMD 以及 ENTRYPOINT 这类命令的身份。
WORKDIR 一样,USER 只是帮助你切换到指定用户而已,这个用户必须是事先建立好的,否则无法切换。
镜像构建完成后,通过docker run运行容器时,可以通过-u参数来覆盖所指定的用户。
1.3. 示例
创建一个用户后使用该用户运行服务
RUN groupadd -r redis && useradd -r -g redis redis
USER redis
RUN [ "redis-server" ]