Screenshot 2024-12-14 at 4.41.19 pm.png

도커는

n-티어 모놀리식 설계부터 현대적인 마이크로서비스 설계까지

이렇듯 분산된 컴포넌트를 실행하는 데 이상적인 환경이다.

각 컴포넌트는 자신만의 경량 컨테이너에서 실행되며

도커가 표준 네트워크 프로토콜을 통해 이들 컨테이너를 엮어낸다.

도커 컴포즈를 사용하면 이렇게 여러 컨테이너에 걸쳐 실행되는 애플리케이션을 정의하고 관리할 수 있다.

7.1 도커 컴포즈 파일의 구조

웹 프런트엔드, 백엔드 API, 데이터베이스를 갖춘 애플리케이션을 패키징하려면

각 컴포넌트에 하나씩 세 개의 Dockerfile 스크립트가 필요하다.

그렇다면 이들 컨테이너는 누가 실행해야 할까?

도커 컴포즈 파일에 애플리케이션의 구조를 정의하면 된다.

도커 컴포즈 파일은

애플리케이션의 ‘원하는 상태’,