해결된 질문
작성
·
158
1
도커파일에서 USER 명령어가 RUN과 CMD 사이에 와야하는 이유가 무엇인가요? 그리고 USER 명령어가 사용되는 이유에 대해 잘 이해가 가질 않아서 그런데 리눅스의 어떤 개념을 공부해야 하나요?
답변 1
1
cho766님 안녕하세요, 데브위키입니다.
윈도우 PC에 접속하실때 사용자를 선택해서 들어가시죠? 리눅스에도 윈도우와 같이 사용자 개념이 있습니다!
그리고 이 사용자마다 권한이 다르고, 모든 권한을 가진 사용자를 윈도우는 Administrator, 리눅스는 root 사용자라고 부릅니다.
컨테이너를 아무 설정 없이 실행하면 root 사용자로 프로세스가 실행이 됩니다.
이 경우 프로세스가 너무 많은 권한을 가지게 되면 보안 상 위협이 될 수 있어서, 권한이 적은 일반 사용자로 설정하는 것입니다.
그래서 USER node 로 지정하시면, node:14 이미지에 사전에 만들어져있는 node라는 사용자로 node.js 소프트웨어를 실행하도록 설정하는 부분이라고 생각해주시면 됩니다.
USER 지시어가 꼭 RUN과 CMD사이에 와야하는 것은 아닙니다. 순서는 CMD 전에만 기재하시면 어디든 넣을 수 있습니다 😀
질문에 답변이 되셨는지요?
강의 들으시면서 더 궁금한 점이 생기시면 사소한 것이더라도 편하게 질문 부탁드립니다!
감사합니다 ㅎㅎ 정성스러운 답변 덕분에 이 강의를 수강하길 잘했다는 생각이 듭니다!