인프런 커뮤니티 질문&답변

잘열심히님의 프로필 이미지

작성한 질문수

개발자를 위한 쉬운 도커

도커파일(Dockerfile) 지시어

빌드과정에서 USER 부분이 궁금합니다.

해결된 질문

작성

·

193

2

강의중

해당부분에서 명령을 실행할 사용자를 변경한다고 하셨는데 그러면 궁금한게 해당 사용자에대한 생성과 권한 부여같은것들은 어디에서 진행이 되는것일까요??

답변 1

2

데브위키님의 프로필 이미지
데브위키
지식공유자

잘열심히님 안녕하세요, 데브위키입니다.

node 사용자는 node:14이미지에 기본값으로 만들어져있는 사용자입니다!

 

추가로 node:14이미지의 사용자 정보를 확인해볼 수 있는 명령을 공유 드립니다.

 

$ docker run -it node:14 whoami
root

명령어의 결과가 root인 것으로 보아 컨테이너 실행 시 기본 사용자가 root인 것을 확인할 수 있습니다.

 

그리고 cat /etc/passwd를 사용해서 OS에 등록된 사용자의 리스트를 조회해 보시면,

$ docker run -it node:14 cat /etc/passwd
...(중략)
node:x:1000:1000::/home/node:/bin/bash

이렇게 node사용자가 등록되어 있는 것을 확인하실 수 있습니다.

그래서 USER 지시어를 사용해서 사용자를 node로 수정했을 때 기본으로 설정되어 있는 권한을 사용하실 수 있습니다.

 

만약 사용자나 권한을 더 디테일하게 커스터마이징 하고 싶으실 경우 RUN 지시어를 사용해서 OS에 사용자나 권한을 추가하실 수 있습니다!

 

추가로 궁금한점이 있으시면 댓글 부탁드립니다

잘열심히님의 프로필 이미지
잘열심히
질문자

node.js 이미지를 만든곳에서 이미 node라는 유저를 이미 생성을 한상태의 이미지를 빌드했다라는 말씀이실까요??

데브위키님의 프로필 이미지
데브위키
지식공유자

네 정확합니다!