본문 바로가기
Docker

[Docker] Docker Compose 시작하기

by 맨날개발 2025. 5. 15.
비전공자도 이해할 수 있는 Docker 입문/실전 (박재성)

📢 Docker Compose를 사용하는 이유

Docker Compose는 여러 개의 컨테이너로 이루어진 어플리케이션을 하나의 YAML 파일에 정의하고, 하나의 명령어로 묶어서 실행/중지/관리할 수 있도록 해주는 도구이다.

 

docker compose를 사용할 때의 장점을 정리하면 다음과 같다.

  • 여러개의 컨테이너를 하나의 파일에서 관리할 수 있도록 해줌
  • 복잡한 명령어로 실행시키던걸 간소화시킬 수 있음

 

🎈 docker compose 파일 작성

아래는 compose 파일 작성 시 사용되는 속성이다. 아래 이외에도 더 다양한 속성들을 제공하지만 아래는 자주 사용되는 속성으로 먼저 익혀두면 좋다.

services:
  서비스이름:
    container_name: 컨테이너명
    image: 이미지명
    ports
      - 호스트 포트번호:컨테이너 포트번호
    environment:
      환경변수명: 환경변수값
    volumes:
      - 경로1
      - 경로2
    build: Dockerfile로 만들어진 이미지를 대상으로 할때, Dockerfile의 경로 작성
  • 서비스이름 : 서비스 이름을 작성한다.
  • container_name : 컨테이너 이름을 작성한다.
  • ports : 호스트 포트와 컨테이너 포트를 작성한다.
  • environment : 환경 변수를 설정하는 부분으로 한 개 이상의 환경변수를 등록할 수 있다.
  • volumes : 볼륨 경로 설정하는 부분으로 한 개 이상의 볼륨을 등록할 수 있다.
  • build : Dockerfile로 만든 이미지를 사용할 때 Dockerfile의 경로를 작성하면 된다.

 

1️⃣ compose 파일 실행 / 중지

✅ 아래의 명령어를 통해서 compose 파일을 실행할 수 있다.

docker compose up // 포그라운드 실행

docker compose up -d // 백그라운드 실행

docekr compose down // 컨테이너 중지

 

2️⃣ 이미지를 다시 빌드하기

✅ 이미지를 Dockerfile을 통해서 사용하고 있는 경우 이미지가 변경되어 다시 빌드해야하는 경우가 존재한다. 아래와 같이 --build 옵션을 사용하면 된다.

docker compose up --build
  • build 옵션을 사용하지 않고 실행하면 기존에 생성되어 있던 이미지를 사용
  • --build 옵션을 사용하면 Dockerfile을 다시 빌드해준다.
처음 구동하는 경우에도 --build를 사용해야 한다.

 

 

3️⃣ 이미지 업데이트

✅ compose에서 사용하고 있는 이미지를 로컬 / 도커 허브 등에서 최신 버전으로 이미지를 다운 받는다.

docker compose pull

 

4️⃣ 서비스 컨테이너 목록 조회

현재 Docker Compose에 정의되어 있는 모든 서비스 컨테이너 목록을 조회할 때 사용한다.

docker compose ps
  • 현재 위치한 compose.yml에 작성 된 서비스 컨테이너 목록을 조회하는 것임에 주의

 

📯 Docker CLI와 compose.yml 변환

Docker CLI로 작성할 수 있는 명령어는 전부 compose.yml로 옮길 수 있다. 그 반대로 동일하다.

 

아래의 주소를 활용하면 둘을 간단하게 변환할 수 있다.

 

Docker CLI → compose.yml로 변환

compose.yml → Docker CLI로 변환

'Docker' 카테고리의 다른 글

[Docker] Dockerfile 만들어보기  (0) 2025.05.04
[Docker] 도커 볼륨  (0) 2025.04.26
[Docker] 도커 컨테이너, 이미지 CLI  (0) 2025.04.19