5.1 도커 컴포즈를 사용하는 이유
여러 개의 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리할 수 있게 해 줌. 여러 개의 컨테이너의 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성하는 방식으로 동작함.
5.2 도커 컴포즈 설치
//Docker for Windows, Docker for Mac을 설치하면 도커 엔진과 함께 도커 컴포즈도 설치됨
docker-compose -v
5.3 도커 컴포즈 사용
5.3.1 도커 컴포즈 기본 사용법
5.3.1.1 docker-compose.yml 작성과 활용
//docker-compose.yml
version: '3.0' //YAML 파일 포맷의 버전 지정
services: //생성될 컨테이너들을 묶어놓은 단위
web: //생성될 서비스의 이름. docker run에서 사용한 옵션을 아래에 지정
image: alicek106/composetest:web
ports:
- "80:80"
links:
- mysql:db
command: apachectl -DFOREGROUND
mysql:
image: alicek106/composetest:mysql
command: mysqld
//아무 설정하지 않으면 현재 디렉터리의 docker-compose.yml 파일을 읽어 도커 엔진에게 컨테이너 생성 요청
docker-compose up -d
//docker-compose.yml끝에 서비의 이름을 입력해 특정 서비스의 컨테이너만 생성
docker-compose up -d mysql
//docker-compose run 명령어로 컨테이너 생성. interactive 셸 사용 가능.
docker-compose run web /bin/bash
5.3.1.2 도커 컴포즈의 프로젝트, 서비스, 컨테이너
- 하나의 프로젝트는 여러개의 서비스로 구성되고, 각 서비스는 여러 개의 컨테이너로 구성됨
- 컨테이너의 이름 -> [프로젝트 이름]_[서비스 이름]_[서비스 내의 컨테이너의 번호]
//서비스의 컨테이너 수 늘리기
docker-compose scale mysql=2
//프로젝트 삭제
docker-compose down
//-p 옵션에 프로젝트의 이름을 사용해 제어할 프로젝트의 이름을 명시
docker-compose -p myproject up -d
docker-compose -p myproject ps
docker-compose -p myproject down
5.3.2 도커 컴포즈 활용
5.3.2.1 YAML 파일 작성
5.3.2.2 도커 컴포즈 네트워크
5.3.2.3 도커 스웜과 함께 사용하기
5.3.2.4 도커 스웜 모드와 함께 사용하기
'개발 도서 > 시작하세요!도커' 카테고리의 다른 글
06 도커 플러그인 (0) | 2020.07.05 |
---|---|
04 도커 머신 (0) | 2020.07.05 |
03 도커 스웜 (0) | 2020.07.05 |
02 도커 엔진 - 2.4 Dockerfile (0) | 2020.06.08 |
02 도커 엔진 - 2.3 도커 이미지 (0) | 2020.06.07 |