728x90
반응형
10월 16일(수) 수업 중
IaC & Dockerfile
- IaC(Infrastructure as Code) 란?
- 인프라를 코드로 정의하고 관리하는 방식
전통적으로 수동으로 설정했던 서버, 네트워크, 데이터베이스 등의 인프라를 코드로 작성하여 버전 관리, 자동화, 반복 가능한 방식으로 관리할 수 있게 해준다.
- 인프라를 코드로 정의하고 관리하는 방식
- IaC 가 필요한 이유
- 인적 오류 감소: 명령어 기반의 수동 작업에서 발생하는 실수를 줄여준다.
- 자동화 및 반복성: 코드로 인프라를 구성하면 환경 설정이 자동화되고, 반복적으로 사용할 수 있다.
- 일관성: 모든 인프라가 동일한 설정으로 일관성 있게 구성된다.
최적의 Dockerfile을 작성하기 위한 팁
- 경량 컨테이너: 가능한 한 작은 이미지를 사용해 컨테이너 크기를 줄인다.
- 레이어 최소화: 각 명령은 새로운 레이어를 추가하므로, 불필요한 레이어는 피해야 한다. 하나의 RUN 명령어에서 여러 작업을 처리해 레이어를 줄일 수 있다.
- 하나의 애플리케이션은 하나의 컨테이너로: 한 컨테이너에 여러 애플리케이션을 담지 말고, 각각의 컨테이너가 하나의 애플리케이션을 담당하도록 한다.
- 캐시 활용: Docker는 빌드 과정에서 캐시를 활용해 불필요한 재빌드를 방지한다. 자주 변경되는 명령은 나중에 배치해 최대한 캐시를 활용하도록 한다.
- 서버리스 환경 개발: 별도의 서버 설정 없이 필요한 서비스만 제공하도록 설계한다.
728x90
반응형
'DOCKER' 카테고리의 다른 글
[DOCKER] Docker Volume 실습 - 데이터베이스 데이터 지속성 유지 (0) | 2024.10.17 |
---|---|
[DOCKER] Docker Volume, bind mount, tmpfs 비교 (4) | 2024.10.17 |
[DOCKER] Docker Volume - 데이터 영속성 관리를 위한 도커 볼륨 (0) | 2024.10.16 |
[DOCKER] Docker 컨테이너 실습 - Python, Nodejs 파일 컨테이너로 실행 (2) | 2024.10.16 |
[DOCKER] Docker 컨테이너 생성 실습 - Nginx 생성 후 포트 수정 (0) | 2024.10.16 |