Dockerfile(8) - USER 指令详解


USER

指定运行容器时的用户名或 UID,后续的RUN等指令也会使用指定的用户身份

USER <user>[:<group>] 
或
USER <UID>[:<GID>]

  

小栗子

USER www

当容器中运行的服务不需要管理员权限时,可以先建立一个特定的用户和用户组,为它分配必要的权限,使用 USER 切换到这个用户

 

重点

  • 使用 USER 指定用户时,可以使用用户名、UID 或 GID,或是两者的组合
  • 使用 USER 指定用户后,Dockerfile 中后续的命令 RUN、CMD、ENTRYPOINT 都将使用该用户

 

注意事项

  • 在 Windows 上,如果用户不是内置帐户,则必须先创建该用户
  • 可以通过 Dockerfile 的 RUN net user 命令来完成
FROM microsoft/windowsservercore

# 在容器创建新用户
RUN net user /add patrick

# 设置用户
USER patrick

  

也可以使用 docker run -u 指定用户

  • 替代默认设置的用户
  • 可以使用 uid 来指定用户
docker run -i -t -u 1001 busybox sh

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM