Docker & kubernetes
04. Dockerfile
최슬슬
2024. 1. 17. 21:14
- Dockerfile이란
- 완성된 이미지를 생성하기 위해 컨테이너에 설치해야 하는 패키지, 추가해야 하는 소스코드, 실행해야 하는 명령와와 셀 스크립트 등을 기록해 두는 하나의 파일이다. 빌드 명령어를 통해 Dockerfile을 읽어 이미지를 생성할 수 있어 Docker hub에 이미지 대신 Dockerfile를 배포할 수 도 있다.
- 왜 Dockerfile을 사용해야는 가?
- 애플리케이션에 필요한 패키지 설치 등을 명확히 할 수 있고 이미지 생성을 자동화할 수 있으며 쉽게 배포할 수 있기 때문이다.
- Dockerfile 문법
- FROM: 생성할 이미지의 베이스가 될 이미지
- RUN: 이미지를 만들기 위해 컨테이너 내부에서 실행하는 명령어
- ADD: 이미지에 추가할 파일
- ADD vs COPY: COPY는 로컬 디렉터리에서 읽어드린 콘텍스트로부터 이미지에 파일을 복사하는 역할로, ADD와는 다르게 외부 파일을 추가할 수 없습니다. 이로 인해 빌드 시점에서 어떤 파일이 추가되는지 명확하게 보이는 COPY를 사용할 것을 권장합니다.
- WORKDIR: 명령어를 실행할 디렉터리
- EXPOSE: Dockerfile의 빌드로 생성된 이미지에서 노출할 포트를 설정
- Dockerfile build
docker build -t {image name:tag}