표적
더 빠른 빌드 속도
더 작은 Docker 이미지 크기
Docker 이미지 레이어 수가 적습니다.
이미지 캐싱 활용
Dockerfile 가독성 향상
Docker 컨테이너를 더 쉽게 사용할 수 있도록 만들기
요약하다
.dockerignore 파일 작성
컨테이너는 단일 애플리케이션만 실행합니다.
여러 RUN 명령어를 하나로 결합
기본 이미지의 라벨에는 최신을 사용하지 마세요.
각 RUN 명령 후에 중복 파일 삭제
적절한 기본 이미지를 선택하세요(Alpine 버전이 가장 좋습니다).
WORKDIR 및 CMD 설정
ENTRYPOINT 사용(선택사항)
진입점 스크립트에서 exec 사용
COPY와 ADD는 전자에 우선순위를 둡니다.
COPY, RUN 순서를 적절하게 조정하세요.
기본 환경 변수 설정, 포트 및 데이터 볼륨 매핑
LABEL을 사용하여 이미지 메타데이터 설정
건강검진 추가
다단계 구축
예
Dockerfile 예제는 (물론 의도적으로) 거의 모든 것을 잘못 만듭니다. 다음으로는 단계별로 최적화하겠습니다. Node.js 애플리케이션을 실행하기 위해 Docker를 사용해야 한다고 가정해 보겠습니다. 다음은 해당 Dockerfile입니다(CMD 명령은 너무 복잡해서 단순화했습니다. 참고용으로만 잘못된 것입니다).
<