[Docker] 9. Docker-Compose 기본

null·2025년 3월 6일
0

Docker

목록 보기
23/24

Docker-Compose

  • 여러 개의 docker 컨테이너들을 관리하는 도구

  • 한 번의 명령어로 여러 개의 컨테이너를 한번에 실행하거나 종료할 수 있다

  • docker compose up-d
    : YAML 파일에 정의된 서비스 생성 및 시작

  • docker compose ps
    : 현재 실행중인 서비스 상태 표시

  • docker compose build
    : 현재 실행중인 서비스의 이미지만 빌드

  • docker compose logs
    : 실행 중인 서비스의 로그 표시

  • docker compose down
    : YAML 파일에 정의된 서비스 종료 및 제거

# docker-compose.yml

version: '3'
services:
  hitchecker:
    build: ./app
    image: hitchecker:1.0.0
    ports:
      - "8080:5000"
  redis:
    image: "redis:alpine"
  • build: ./app
    : build 옵션이 있는 hitchecker 서비스만 빌드
    : ./app 디렉터리에 있는 dockerfile을 사용해 이미지를 빌드
    : hitchecker 컨테이너의 경우 사용자가 개발한 애플리케이션이기때문에 실행 시 빌드 필요

  • image: hitchecker:1.0.0
    : 빌드된 이미지를 hitchecker:1.0.0 태그로 저장

  • redis
    : redis의 경우 외부의 이미지를 다운 받아서 실행

  • hitchecker:1.0.0
    : 이미지가 있는 경우 그대로 사용, 없는 경우 build 경로의 Dockerfile 을 사용해 이미지 빌드
    : 소스코드가 변경되었어도 이미지가 이미 있는 경우에는 해당 이미지를 우선적으로 사용하기 때문에 이미지를 다시 빌드해야함 -> 이미지의 태그를 수정하거나 도커 컴포즈에서 별도의 옵션을 주어야함!!

  • docker compose up -d --build
    : 로컬에 이미지가 있어도 해당 이미지를 제거하고 다시 새로운 이미지로 빌드

  • docker compose down -v
    : 컴포즈 및 볼륨 삭제

0개의 댓글