Docker Compose 정리

이주원·2023년 6월 12일
0

도커 컴포즈는 여러 컨테이너를 가지는 애플리케이션을 통합적으로 Docker 이미지를 만들고, 만들어진 각각의 컨테이너를 시작 및 중지하는 등의 작업을 더 쉽게 수행할 수 있도록 도와주는 도구이다.

도커 컴포즈를 사용하면 여러 컨테이너로 구성된 애플리케이션을 하나의 단위로 다룰 수 있다. 예를 들어 웹 서비스를 개발할 때 웹서버, DB, 캐시 서버 등을 각각 독립적인 컨테이너로 실행하고 이들을 연결하여 서비스를 구성할 수 있다. 도커 컴포즈를 사용하면 이러한 컨테이너들의 구성과 실행 방법을 정의하고 한번에 관리할 수 있다.

하지만 도커 컴포즈는 여러 호스트 머신에 흩어져있는 컨테이너들을 제어하는데는 적합하지 않다. 이러한 관리를 위해서는 쿠버네티스와 같은 컨테이너 오케스트레이션 툴이 필요하다.

도커 컴포즈 작성

도커 컴포즈에서 가장 중요한 요소는 Services이다. 이는 도커의 컨테이너와 비슷하게 각 서비스마다 환경변수, 볼륨, 네트워크, 포트 포워딩과 같은 부분을 작성할 수 있다.

각 서비스들은 서비스 이름을 통해 컨테이너 내에서 다른 서비스에 접근할 수 있다.

예제

version: '3'

services:
  frontend:
    build:
      context: .
      dockerfile: Dockerfile-frontend
    ports:
      - 3000:3000
  backend:
    build:
      context: .
      dockerfile: Dockerfile-backend
    ports:
      - 8000:8000
		cpus: ".25"
    mem_limit: "2g"
  database:
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=mydb
docker-compose up

0개의 댓글