6. Docker Compose

출처

"Docker Compose"라는 새로운 용어가 등장 했습니다. Compose는 구성하다 라는 뜻을 가진 영어 단어인데, 갑자기 도커와 함께 어울리게 된 이유는 무엇일까요? 이 수수께끼를 풀기 위해서 간단한 그림을 보여 드리겠습니다.

Untitled

Python 기반의 웹 프레임워크 django, 관계형 DBMS Postgresql, Postgresql 모니터링 pgAdmin 이 세 가지를 모두 한꺼번에 컨테이너로 구성하려고 합니다. 각각을 컨테이너로 구동해야 되니까... 이미지를 받아오고 docker run 을 실행하고...다시 또 실행하고...포트는 어떻게 연결하지? 세팅하려는 모든 컨테이너를 각각 구성하려니 명령어를 어떻게 실행해야 할지, 필요한 계정은 어떻게 설정해야 할지 하나도 감이 잡히지 않습니다.

그래서 위와 같은 멀티 컨테이너를 구동하기 위한 구원투수가 나타났으니 그 이름이 바로 Docker Compose 입니다. Docker Compose 는 도커 컴포넌트 중의 하나로서, 여러 개의 컨테이너를 정의하고 실행하는 역할을 합니다. 기존에 학습했던 이미지 빌드용 파일인 Dockerfile 과 더불어 **docker-compose.yml** 이라는 새로운 설정 파일이 등장하는데 사용법이 간결하고 직관적이기 때문에 크게 부담갖지 않으셔도 됩니다. 오히려 이렇게 쉽게 컨테이너를 제어할 수 있다는 것에 감탄하게 됩니다.

6.1 Docker Compose 설치 및 개요

6.1.1 Docker Compose 설치

Docker Compose 를 사용하기 위해 먼저 설치를 진행하겠습니다. 설치 과정은 매우 간단합니다.

<aside> 💡 Ubuntu 가상머신이 아닌 Docker Desktop을 설치한 경우 이미 Docker Compose 가 내장되어 있어 별도로 설치하실 필요 없습니다.

</aside>

1) Docker Compose 다운로드

sudo curl -L "<https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2) 실행 권한 부여

sudo chmod +x /usr/local/bin/docker-compose

3**) 버전 확인**

docker-compose --version

Untitled

위와 같이 버전이 출력되면 정상적으로 설치된 것입니다. 이제 즐겁게 사용하는 일만 남았네요😄

6.1.2 docker-compose.yml

The Official YAML Web Site