blevels

Home / AI / AI 용어사전 / Docker — 어디서든 똑같이 실행되는 컨테이너 기술의 원리

TERM

Docker — 어디서든 똑같이 실행되는 컨테이너 기술의 원리

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

"내 컴퓨터에서는 되는데 서버에서는 안 된다." 개발자라면 누구나 마주치는 이 문제를 해결하는 것이 Docker의 핵심 존재 이유다. 환경 차이에서 비롯된 배포 실패를 컨테이너 기술로 원천 차단한다.

정의

Docker(도커)는 애플리케이션과 그 실행에 필요한 모든 의존성을 컨테이너(Container)라는 독립된 단위로 패키징하는 플랫폼이다. 컨테이너는 어떤 운영체제, 어떤 서버 환경에서도 동일하게 실행된다. 개발 환경과 프로덕션 환경의 차이를 제거하는 것이 핵심 목적이다.

컨테이너 vs 가상 머신

컨테이너는 흔히 가상 머신(VM)과 비교된다. 둘 다 격리된 환경을 제공하지만 작동 방식이 다르다.

| 항목 | 컨테이너 | 가상 머신 | |---|---|---| | OS 커널 | 호스트 OS 공유 | 개별 OS 포함 | | 시작 시간 | 수 초 이내 | 수 분 | | 이미지 크기 | 수십~수백 MB | 수 GB | | 격리 수준 | 프로세스 수준 | 하드웨어 수준 |

컨테이너는 가볍고 빠른 대신 격리 수준이 낮고, VM은 무겁지만 완전한 격리를 제공한다. 웹 서비스와 AI 모델 서빙에는 컨테이너가 표준으로 자리 잡았다.

AD

핵심 개념

Dockerfile: 컨테이너 이미지를 만드는 명령어 집합이다. "Python 3.11 위에 이런 패키지를 설치하고, 이 명령을 실행하라"는 지시를 담는다. 버전 관리 대상이다.

Image: Dockerfile로 빌드된 읽기 전용 템플릿이다. Docker Hub 등에 공유·배포할 수 있다. 한 번 빌드한 이미지는 어디서든 동일하게 실행된다.

Container: Image를 실행한 상태다. 하나의 이미지에서 여러 컨테이너를 동시에 실행할 수 있다.

Docker Compose: 웹서버, 데이터베이스, 캐시 등 여러 컨테이너를 하나의 설정 파일(docker-compose.yml)로 정의하고 함께 실행하는 도구다.

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "main.py"]

이 Dockerfile은 Python 3.11 환경에 패키지를 설치하고 main.py를 실행하는 컨테이너를 정의한다. 어느 서버에서든 docker builddocker run하면 동일하게 실행된다.

AI 서비스에서의 Docker 활용

AI 모델 서비스는 특히 의존성이 복잡하다. CUDA 버전, PyTorch 버전, 드라이버 호환성이 환경마다 달라 배포 실패가 잦다. Docker는 이 모든 의존성을 하나의 이미지로 고정해 어느 GPU 서버에서도 동일하게 실행되도록 보장한다.

ci-cd 파이프라인에서 Docker 이미지를 빌드하고, Kubernetes나 클라우드 서비스에 배포하는 것이 AI 서비스 배포의 표준 패턴이다. GitHub Actions에서 Docker 이미지를 빌드해 AWS ECR, Google Artifact Registry에 푸시한 후, 컨테이너 서비스에 자동 배포하는 흐름이 대표적이다.

# 이미지 빌드 및 실행
docker build -t my-ai-app .
docker run -p 8000:8000 my-ai-app

# Docker Compose로 여러 서비스 함께 실행
docker compose up -d

관련 용어

  • ci-cd — Docker 이미지를 활용한 자동 빌드·배포 파이프라인
  • kubernetes — 다수의 Docker 컨테이너를 오케스트레이션하는 시스템
  • virtual-machine — Docker 이전 세대의 격리 환경 기술
  • microservices — 각 서비스를 독립 컨테이너로 분리하는 아키텍처 패턴
  • github-actions — ci-cd 자동화에서 Docker 이미지 빌드를 실행하는 도구
AD