열렬히.뛰기

도커 컴포즈 : 생성

가상화기술 > Docker : 기초 이론 > 도커 컴포즈 : 생성

도커 컴포즈란?

  • 도커 여러 개, 네트워크, 볼륨을 각각 따로 처리하는 것은 상당히 불편하다.
  • 따라서 이를 하나의 텍스트 파일에 기재해, 명령어 한번에 시스템 전체를 실행하는 도구가 필요하게 되었다.
  • 이를 docker compose라고 한다.

도커 컴포즈 설치

bash
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose -v

yaml 파일 작성

도커 컴포즈로 무슨 파일을 돌릴지 확인하는 파일. 보통 docker-compose.yaml이라고 명명한다.

다음은 대표적인 docker-compose.yaml의 예시이다.

yaml
version: '3.9'

services:
  db:
    image: mysql:8
    volumes:
    - db:/var/lib/mysql
    restart: unless-stopped
    environment:
    - MYSQL_ROOT_PASSWORD=seosh817
    - MYSQL_DATABASE=seosh817
    - MYSQL_USER=seosh817
    - MYSQL_PASSWORD=seosh817
    networks:
    - wordpress

빌드 & 실행

bash
# 모든 이미지 build
docker-compose build

# 백그라운드로 도커 컴포즈 실행
docker-compose up -d

멈춤 & 종료

bash
# 모든 이미지 멈춤
docker-compose stop

# 모든 이미지 내리기
docker-compose delete