본문 바로가기
DOCKER

[DOCKER] IaC와 Dockerfile

by sum_mit45 2024. 10. 21.
728x90
반응형
10월 16일(수) 수업 중 

IaC & Dockerfile

  • IaC(Infrastructure as Code) 란?
    • 인프라를 코드로 정의하고 관리하는 방식
      전통적으로 수동으로 설정했던 서버, 네트워크, 데이터베이스 등의 인프라를 코드로 작성하여 버전 관리, 자동화, 반복 가능한 방식으로 관리할 수 있게 해준다.
       
  • IaC 가 필요한 이유
    • 인적 오류 감소: 명령어 기반의 수동 작업에서 발생하는 실수를 줄여준다.
    • 자동화 및 반복성: 코드로 인프라를 구성하면 환경 설정이 자동화되고, 반복적으로 사용할 수 있다.
    • 일관성: 모든 인프라가 동일한 설정으로 일관성 있게 구성된다.

최적의 Dockerfile을 작성하기 위한 팁

  1. 경량 컨테이너: 가능한 한 작은 이미지를 사용해 컨테이너 크기를 줄인다. 
  2. 레이어 최소화: 각 명령은 새로운 레이어를 추가하므로, 불필요한 레이어는 피해야 한다. 하나의 RUN 명령어에서 여러 작업을 처리해 레이어를 줄일 수 있다.
  3. 하나의 애플리케이션은 하나의 컨테이너로: 한 컨테이너에 여러 애플리케이션을 담지 말고, 각각의 컨테이너가 하나의 애플리케이션을 담당하도록 한다.
  4. 캐시 활용: Docker는 빌드 과정에서 캐시를 활용해 불필요한 재빌드를 방지한다. 자주 변경되는 명령은 나중에 배치해 최대한 캐시를 활용하도록 한다.
  5. 서버리스 환경 개발: 별도의 서버 설정 없이 필요한 서비스만 제공하도록 설계한다. 
728x90
반응형