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

cho766님의 프로필 이미지
cho766

작성한 질문수

개발자를 위한 쉬운 도커

도커파일(Dockerfile) 지시어

USER 명령어 질문

해결된 질문

작성

·

158

1

도커파일에서 USER 명령어가 RUN과 CMD 사이에 와야하는 이유가 무엇인가요? 그리고 USER 명령어가 사용되는 이유에 대해 잘 이해가 가질 않아서 그런데 리눅스의 어떤 개념을 공부해야 하나요?

답변 1

1

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

cho766님 안녕하세요, 데브위키입니다.

 

윈도우 PC에 접속하실때 사용자를 선택해서 들어가시죠? 리눅스에도 윈도우와 같이 사용자 개념이 있습니다!

그리고 이 사용자마다 권한이 다르고, 모든 권한을 가진 사용자를 윈도우는 Administrator, 리눅스는 root 사용자라고 부릅니다.

 

컨테이너를 아무 설정 없이 실행하면 root 사용자로 프로세스가 실행이 됩니다.

이 경우 프로세스가 너무 많은 권한을 가지게 되면 보안 상 위협이 될 수 있어서, 권한이 적은 일반 사용자로 설정하는 것입니다.

 

그래서 USER node 로 지정하시면, node:14 이미지에 사전에 만들어져있는 node라는 사용자로 node.js 소프트웨어를 실행하도록 설정하는 부분이라고 생각해주시면 됩니다.

 

USER 지시어가 꼭 RUN과 CMD사이에 와야하는 것은 아닙니다. 순서는 CMD 전에만 기재하시면 어디든 넣을 수 있습니다 😀

 

질문에 답변이 되셨는지요?

강의 들으시면서 더 궁금한 점이 생기시면 사소한 것이더라도 편하게 질문 부탁드립니다!

 

cho766님의 프로필 이미지
cho766
질문자

감사합니다 ㅎㅎ 정성스러운 답변 덕분에 이 강의를 수강하길 잘했다는 생각이 듭니다!

cho766님의 프로필 이미지
cho766

작성한 질문수

질문하기