Docker Hub(도커 허브),Docker Compose(도커 컴포즈)

김대은·2026년 7월 19일

Docker Hub(도커허브)란?

Docker Hub(도커허브)란?

Docker image를 저장하고 공유할 수 있는 클라우드 기반의 저장소 서비스

주요 기능

  • 개발자가 생성한 Docker image를 저장할 수 있는 중앙 저장소를 제공하기 때문에 저장된 image는 언제든지 다운로드받아 사용할 수 있다.

  • 다른 사람들과 공유하거나 제한된 사용자만 접근할 수 있도록 설정할 수 있어 공유 및 협업이 가능하다.

  • Docker 팀에서 직접 관리하는 Docker official image들을 제공한다.

  • Docker hub 커뮤니티가 제공하는 수많은 image들을 활용하여 프로젝트에 적합한 환경을 빠르게 구축할 수 있다.

Docker Compose란?

도커 컴포즈(Docker Compose)는 단일 서버에서 여러개의 컨테이너를 하나의 서비스로 정의해 컨테이너의 묶음으로 관리할 수 있는 작업 환경을 제공하는 관리 도구입니다.

도커 컴포즈를 왜 사용할까?

원래 웹사이트 하나를 만들려면 로그인 서버, DB 서버 등 여러개의 컨테이너를 하나하나 켜야 했습니다
하지만 도커 컴포즈는 docker-compose.yml(도커 컴포즈 파일)에 "이 프로그램들을 다 같이 실행해줘"라고 적어두고, 명령어 한 줄로 모두 한번에 켜고 관리할수 있게 해줍니다.

도커 컴포즈의 구조

도커 컴포즈는 시스템 구축에 필요한 설정을 YAML포맷으로 기재한 정의 파일을 이용해 **전체 시스템을 일괄 실행(RUN) 또는 일괄 종료 및 삭제(down)할 수 있는 도구이다.

정의 파일
정의 파일에는 컨테이너나 불륨을 '어떠한 설정으로 만들지'에 대한 항목이 기재돼있다.
작성 내용은 도커 명령어와 비슷하지만 도커 명령어는 아니다.

up 커맨드(생성 및 실행)

up커맨드는 docker run 명령문과 비슷함
정의 파일에 기재된 내용대로 이미지를 내려받고 컨테이너를 생성 및 실행한다.

down 커맨드(정지 및 완전히 삭제)

down커맨드는 컨테이너와 네트워크를 정지 및 삭제한다.
❌ 불륨과 이미지는 삭제 하지 않음
만약 컨테이너와 너트워크를 삭제 없이 종료만 하고 싶다면, stop 커맨드를 사용한다.

stop 커맨드(일시정지)

실행 중인 컨테이너 내부의 프로세스만 안전하게 종료한다.
컨테이너의 상태가 종료(Exited) 상태로 바뀐다.
❌ 컨테이너, 네트워크, 볼륨, 데이터 등 아무것도 삭제하지 않고 그대로 보존한다.
정지된 상태이기 때문에 다시 켜면 이전 상태 그대로 빠르게 재시작된다.

도커 컴포즈와 Dockerfile 스크립트의 차이점

도커 컴포즈는 텍스트 파일에 기재된 정의를 따라 실행된다.

이 부분에서, 이전에 배웠던 Dockerfile 스크립트와 비슷한 부분이 있다고 느낄 수 있지만 분명한 차이점이 존재한다.

결론부터 말하자면, 만드는 대상이 다르다!

  • 도커 컴포즈는 docker run 명령어를 여러 개 모아놓은 것과 같다.
    컨테이너와 주변 환경을 생성하고 네트워크와 볼륨까지 함께 만들 수 있다.
  • Dockerfile 스크립트는 단지 이미지를 만들기 위한 것으로 네트워크나 볼륨은 만들 수 없다.

쿠버네티스

쿠버네티스는 컨테이너를 관리하는 도구입니다.
-> 도커 컨테이너가 수십, 수백 개 이상으로 많아졌을 때, 이를 사람이 일일이 관리하기 힘드니까 컴퓨터가 알아서 컨테이너들을 지휘하고 자동 관리하도록 만드는 마스터 시스템이다

📌 도커 컴포즈와 쿠버네티스
쿠버네티스는 도커 컨테이너를 관리하는 도구인 만큼 여러 개의 컨테이너를 다루는 것과 관계가 깊어서, 도커 컴포즈와도 혼동하기 쉽다.
쿠버네티스 : 컨테이너를 관리하는 도구
도커 컴포즈 : 컨테이너를 생성 및 삭제, 컨테이너 관리 기능은 없음

0개의 댓글