도커 파일은 실행되는 프로세스를 도커 이미지로 생성하기 위한 일종의 스크립트 파일이다. Dockerfile을 빌드하게 되면 Dockerfile 의 명령문을 읽고 도커 이미지를 생성해주게 된다. 즉, 이미지를 만들기 위한 설계도라고 생각하면 된다.
Dockerfile은 확장자를 지정하지 않고 파일명을 Dockerfile 그대로 만들게 되면 vscode에서 자동으로 도커 파일로 인식하게 된다.
| 키워드 | 설명 |
|---|---|
| FROM(베이스 이미지) | 어느 이미지에서 시작할건지 의미 |
| LABEL | 이미지에 메타데이터를 추가(type: key-value) |
| RUN | 새로운 레이어에 명령어 실행 이미지 생성, RUN 명령어를 실행 할 때마다 레이어가 생성됨 |
| WORKDIR | 작업 디렉토리를 지정 해당 디렉토리가 없다면 생성한다. 그 이후의 명령어는 해당 디렉토리를 기준으로 동작 |
| EXPOSE | 도커 파일의 빌드로 생성된 이미지에서 열어줄 포트를 의미 |
| USER | 이미지를 실행할 계정을 선택 기본으로 root로 실행 |
| COPY/ADD | build 명령 중간에 호스트의 파일 또는 폴더를 이미지에 가져올수 있음, 파일의 형태는 압축파일 네트워크 상의 파일도 사용이 가능, 또한 ADD 명령어는 COPY보다 강한 명령문 |
| ENV | 이미지에서 사용할 환경 변수 값을 지정 |
| CMD/ENTRYPOINT | 컨테이너를 생성 및 실행 할 때 실행할 명령어 CMD 와 ENTRYPOINT 차이는 CMD는 컨테이너를 생할 때만 실행, ENTRYPOINT는 컨테이너를 실행할 때마다 실행 |
도커파일을 이미지로 만드는방법은 build 명령어를 사용한다.
docker build -y [이미지 이름:이미지 버전(default latest)] [Dockerfile의 경로]