docker와 docker compse의 차이점

박선우·2024년 9월 21일

DockerDocker Compose는 컨테이너 기반 애플리케이션을 관리하는 데 사용되는 도구이지만, 둘 사이에는 중요한 차이점이 있습니다.

1. Docker

  • 역할: Docker는 컨테이너를 만들고 관리하는 도구입니다. 애플리케이션과 그 종속성을 하나의 독립적인 환경에서 실행할 수 있도록 합니다.

  • 사용 시점: Docker는 단일 컨테이너를 실행하고 관리할 때 사용됩니다. 예를 들어, 하나의 애플리케이션(예: Spring, MySQL)만을 컨테이너화해서 관리할 때 Docker 명령어를 직접 사용합니다.

  • 명령어 예시:

    • 컨테이너 실행: docker run
    • 컨테이너 중지: docker stop
    • 이미지 빌드: docker build

    예시: MySQL 컨테이너 실행

    docker run --name mysql -e MYSQL_ROOT_PASSWORD=root_password -d mysql:8.0

2. Docker Compose

  • 역할: Docker Compose는 여러 개의 Docker 컨테이너를 동시에 정의하고 실행할 수 있는 도구입니다. 복잡한 애플리케이션이 여러 컨테이너로 구성된 경우, Docker Compose를 사용해 쉽게 관리할 수 있습니다.

  • 사용 시점: 다중 컨테이너 환경(예: 백엔드, 프론트엔드, 데이터베이스 등 여러 개의 서비스를 연동할 때)에서 사용합니다. docker-compose.yml 파일을 통해 각 컨테이너의 설정을 미리 정의하고, 한 번에 실행하거나 중지할 수 있습니다.

  • 명령어 예시:

    • 컨테이너 실행: docker-compose up
    • 컨테이너 중지: docker-compose down
    • 컨테이너 빌드: docker-compose build

    예시: docker-compose.yml 파일을 작성한 후 여러 컨테이너를 실행

    docker-compose up

차이점 요약:

구분DockerDocker Compose
용도단일 컨테이너 실행 및 관리여러 컨테이너(서비스) 간 연동 및 동시에 실행
사용 환경주로 단일 애플리케이션/서비스복잡한 다중 컨테이너 환경 (Microservices)
설정 방법명령어로 직접 설정 (docker run)docker-compose.yml 파일에 설정 작성
명령어docker run, docker stopdocker-compose up, docker-compose down

결론:

  • Docker는 하나의 컨테이너를 관리할 때 유용하지만, Docker Compose는 여러 개의 컨테이너가 필요한 복잡한 애플리케이션을 관리할 때 효율적입니다.
profile
개발 관련 궁금한 점이나 새로 알게된 내용을 적는 곳

0개의 댓글