Dockerfile 명령어 정리
docker build -t {이미지명} .
: 현재 위치의 Dockerfile 에서 이미지 생성
RUN
- 이미지를 빌드할 때 실행되는 명령
- RUN 단위로 베이스 이미지 위에 레이어가 형성됨
- 컨테이너가 실행되기 전 단계
CMD
- 컨테이너 내부에서 실행되는 명령
- 하나의 Dockerfile 에는 한 줄의 CMD 만 유효하다.
- 여러개의 CMD 가 있다면 마지막 것만 실행된다.
- Exec 형식과 Shell 형식이 있다.
ENTRYPOINT
- 컨테이너 내부에서 실행되는 명령
- CMD 와의 차이점
- CMD: RUN 시점에 인수 및 옵션을 넘겨주는게 가능
- ENTRYPOINT : RUN 과 상관없이 무조건 실행
ONBUILD
- 이미지 빌드 완료 후에 실행되는 명령
- 빌드한 이미지를 베이스로 새로운 이미지를 만들 때 사용
HEALTHCHECK
Dockerfile 예시
FROM ubuntu:18.04
RUN apt-get update -y && apt-get dist-upgrade -y && apt-get clean
RUN apt-get install apache2 -y
EXPOSE 80
# Shell 형식
# CMD apachectl -D FOREGROUND
# Exec 형식 : 다른 인자를 넘겨줘야할 때 유용
CMD ["apachectl", "-D", "FOREGROUND"]