Skip to main content
Docker Compose를 사용하여 각종 서비스를 설치하고 실행하는 가이드입니다.

Docker란?

Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 해주는 도구입니다. 일반적으로 PostgreSQL, Redis 같은 서비스를 설치하려면 OS에 직접 설치하고 설정 파일을 수정해야 합니다. Docker를 사용하면 이런 과정 없이 명령어 한 줄로 서비스를 실행할 수 있습니다.

컨테이너 (Container)

컨테이너는 애플리케이션과 실행에 필요한 모든 것(라이브러리, 설정 파일 등)을 하나로 묶은 실행 단위입니다.
  • 호스트 OS와 격리되어 실행되므로 서로 영향을 주지 않습니다
  • 같은 서비스를 여러 개 동시에 실행할 수 있습니다
  • 삭제하고 다시 만들어도 동일한 환경이 보장됩니다

Docker Compose

여러 컨테이너를 한 번에 정의하고 실행할 수 있는 도구입니다. docker-compose.yml 파일에 서비스 구성을 작성하고, docker compose up -d 명령어로 한 번에 실행합니다. 예를 들어, Langfuse를 실행하려면 Langfuse 서버, PostgreSQL, Redis, ClickHouse 등 여러 서비스가 함께 필요합니다. Docker Compose를 사용하면 이 모든 서비스를 하나의 파일로 관리하고 한 번에 실행할 수 있습니다.

사전 준비

Docker Container를 실행하려면 Docker가 설치되어 있어야 합니다.
Windows 환경에서는 Rancher Desktop을 설치하면 Docker와 Docker Compose가 함께 설치됩니다.
Docker가 정상적으로 설치되었는지 확인합니다.
docker --version
docker compose version

사용 방법

각 서비스 페이지에 있는 docker-compose.yml 파일을 복사하여 원하는 디렉토리에 저장한 뒤, 아래 명령어로 실행합니다.
# 컨테이너 실행 (백그라운드)
docker compose up -d

# 실행 상태 확인
docker compose ps

# 로그 확인
docker compose logs -f

# 컨테이너 중지
docker compose down
docker compose down은 컨테이너만 삭제합니다. 데이터는 Docker 볼륨에 저장되어 유지됩니다. 데이터까지 삭제하려면 docker compose down -v 옵션을 사용합니다.

서비스 목록

데이터베이스 / 검색엔진

PostgreSQL

관계형 데이터베이스

Redis

인메모리 캐시

OpenSearch

전문 검색 엔진

Qdrant

벡터 데이터베이스

Neo4j

그래프 데이터베이스

Milvus

대규모 벡터 검색

Weaviate

하이브리드 검색

ChromaDB

경량 벡터 DB

LLM 서빙 / 추론

vLLM

고성능 LLM 추론

TGI

HuggingFace LLM 서빙

TEI

HuggingFace 임베딩 서빙

LocalAI

OpenAI 호환 로컬 서버

AI / 워크플로우 플랫폼

Dify

LLM 앱 개발 플랫폼

Open WebUI

ChatGPT 스타일 웹 UI

Langflow

비주얼 AI 빌더

Flowise

비주얼 LLM 빌더

AnythingLLM

올인원 RAG 챗봇

n8n

워크플로우 자동화

실험 관리 / MLOps / LLMOps

Langfuse

LLM Observability

MLflow

머신러닝 실험 추적

ClearML

MLOps 플랫폼

JupyterHub

멀티 사용자 노트북

Trackio

실험/메트릭 추적

데이터 라벨링

Label Studio

범용 데이터 라벨링

Argilla

LLM/NLP 데이터 피드백

모델 서빙 / 배포

Triton

NVIDIA 멀티 프레임워크 추론

BentoML

머신러닝 모델 패키징 및 서빙

설치 점검 목록

  • docker compose up -ddocker compose ps로 컨테이너 상태를 확인했습니다.
  • 기본 포트/계정/비밀번호를 문서대로 점검했습니다.
  • 운영용으로 사용할 때 기본 비밀번호/시크릿 값을 변경했습니다.
  • 장애 분석을 위해 docker compose logs -f 확인 방법을 숙지했습니다.

문제 해결 가이드

  • 컨테이너가 실행되지 않으면 docker compose logs -f로 오류 원인을 먼저 확인합니다.
  • 포트 충돌이 나면 기존 프로세스를 종료하거나 포트 매핑 값을 변경합니다.
  • 이미지 pull 실패 시 네트워크 연결 및 레지스트리 접근 권한을 확인합니다.
  • 설정 변경 후 문제가 지속되면 docker compose down 후 다시 up -d로 재기동합니다.

관련 문서

Setup 홈

운영체제별 설치 흐름을 다시 확인합니다.

다음: PostgreSQL

다음 설치 단계를 이어서 진행합니다.