[Docker] multi-container application: Docker compose
이전 글 👇
2024.02.07 - [IT/DevOps] - [Docker] Database 유지하기: 2. Bind mount
[Docker] Database 유지하기: 2. Bind mount
이전 글 👇 2024.02.06 - [IT/DevOps] - [Docker] Container의 filesystem, Database 유지하기: 1. Volume mount [Docker] Container의 filesystem, Database 유지하기: 1. Volume mount 이전 글 👇 2024.02.05 - [IT/DevOps] - [Docker] Application 공
intoky.tistory.com
Docker Compose
대부분의 Application들은 Database를 필요로 하고,
Application과 Database는 별도의 Container에서 실행되는 것이 좋습니다.

이렇듯, multi-container로 된 Application을 정의하고 공유하는 데에 Docker compose는 아주 편리한 도구입니다.
Docker compose를 위해, App을 정의하는 yaml 파일이 필요합니다.
1. compose.yaml 생성
getting-started-app 디렉토리 위치에서 compose.yaml 파일을 생성하고 아래와 같이 입력하여,
Application을 위한 Container와 MySQL을 위한 Container, 그리고 필요한 Volume을 각각 정의합니다.
2. Container를 생성하고 시작하기
getting-started-app 디렉토리 위치에서 아래 명령어를 입력합니다.
docker compose up -d
Volume과 Network는 자동으로 생성됩니다.
3. Application 실행해보기
localhost:3000으로 접속하면 웹 App을 확인할 수 있습니다.
4. Container와 Network를 멈추고 삭제하기
getting-started-app 디렉토리 위치에서 아래 명령어를 입력합니다.
docker compose down
위 명령어를 실행해도 Volume은 사라지지 않으며,
삭제를 원할 시 --volumes 옵션을 추가해야 합니다.
감사합니다~