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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章