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

+ Recent posts