패스잇
인프라 & 클라우드 · 중급

Dockerfile의 주요 명령어에 대해 설명해주세요.

힌트 · FROM, RUN, CMD, ENTRYPOINT, COPY의 차이를 설명해보세요.

FROMRUNCOPYWORKDIRCMD

모범답안

Dockerfile은 이미지를 만들기 위한 레시피 같은 파일입니다. 주요 명령어는 다음과 같습니다.

  • FROM: 베이스 이미지를 지정합니다. 예를 들어 FROM ubuntu:latest는 최신 우분투 이미지를 기반으로 시작하겠다는 의미입니다.

  • RUN: 이미지를 빌드하는 과정에서 명령어를 실행합니다. 예를 들어 RUN apt-get update && apt-get install -y nginx는 패키지를 업데이트하고 nginx를 설치합니다.

  • COPY: 로컬 파일을 이미지 안으로 복사합니다. COPY ./app /app은 현재 디렉토리의 app 폴더를 이미지 내 /app 폴더로 복사합니다.

  • WORKDIR: 이후 RUN, CMD, ENTRYPOINT 명령어들이 실행될 작업 디렉토리를 설정합니다. WORKDIR /app을 설정하면 이후 명령어들은 /app 디렉토리에서 실행됩니다.

  • CMD: 컨테이너가 시작될 때 실행할 명령어를 지정합니다. Dockerfile에 여러 개의 CMD가 있다면 마지막 CMD만 실행됩니다. CMD ["nginx", "-g", "daemon off;"] 처럼 실행 파일과 인자를 배열 형태로 지정하는 것이 좋습니다.

  • ENTRYPOINT: CMD와 비슷하지만, 컨테이너 실행 시 항상 실행되는 명령어입니다. CMD는 ENTRYPOINT에 의해 오버라이드될 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 DevOps / CI·CD 면접 질문

← DevOps / CI·CD 면접 질문 전체 보기