[IT-정보] 도커 컴포즈 설치 기초 완벽 가이드 – 비전공자도 10분 만에 끝내는 실전 매뉴얼

도커 컴포즈 설치를 설명하는 초보자를 위한 쉬운 설명 대표 이미지

도커 컴포즈 설치가 왜 막막하게 느껴질까요?

갑자기 서버 관리 업무를 맡게 되었는데, 검은 화면의 터미널 앞에서 막막했던 적 있으신가요? 분명히 도커(Docker)를 배우라고 해서 설치는 겨우 마쳤는데, 정작 서비스를 올리려고 하니 명령어 한 줄 한 줄이 너무나 길고 복잡하게 느껴지곤 해요. 컨테이너를 하나씩 따로 실행하다 보면, 어떤 설정으로 띄웠는지 잊어버리거나 서로 연결이 안 되어 쩔쩔매는 상황이 빈번하게 발생하죠.

이런 혼란을 막아주는 구원투수가 바로 도커 컴포즈(Docker Compose)예요. 도커 컴포즈는 여러 개의 컨테이너를 마치 하나의 세트 메뉴처럼 묶어서 한 번에 관리할 수 있게 해주는 도구예요. 하나씩 명령어를 입력하는 번거로움을 줄여주고, 설정 파일 하나로 서버의 전체 구성을 기록해두는 마법 같은 기능이죠.

지금 이 글을 읽고 계신 분들은 아마도 도커 컴포즈 설치 기초를 다지고 싶은 비전공자 담당자이거나, 이제 막 컨테이너 운영에 발을 들인 초보 개발자일 거예요. 용어부터 설치 과정, 그리고 실제 작동하는 예제까지 아주 친절하게 안내해 드릴게요. 이 과정을 마치고 나면 여러분은 복잡한 서버 설정도 두려움 없이 다룰 수 있게 될 거예요.

💡 이 글에서 다루는 내용

  • 초보자가 반드시 알아야 할 핵심 용어 정리
  • 내 환경에 딱 맞는 설치 방법과 체크리스트
  • 실제 예제로 배우는 도커 컴포즈 실행 과정
  • 설치 중 마주하는 흔한 오류와 해결책

시작 전 준비물: 핵심 용어와 설치 환경 체크

무턱대고 설치 명령어부터 입력하면 중간에 반드시 막히게 돼요. 도커 컴포즈는 도커 엔진 위에서 돌아가는 도구이기 때문에, 기본적인 개념을 먼저 머릿속에 넣어두는 것이 중요해요. 마치 요리를 하기 전에 칼과 도마가 어디 있는지 확인하는 과정과 같답니다.

1. 반드시 알아야 할 4가지 핵심 용어

용어가 낯설면 설명서 자체가 외계어처럼 느껴질 수 있어요. 가장 자주 쓰이는 용어들을 아주 쉽게 풀어볼게요.

  • 컨테이너(Container): 애플리케이션이 실행되는 독립된 작은 방이에요. 각 방은 서로 간섭하지 않고 독립적으로 작동해요.
  • 이미지(Image): 컨테이너를 만들기 위한 설계도예요. 이 설계도만 있으면 언제든 똑같은 방을 만들 수 있어요.
  • YAML 파일: 도커 컴포즈에게 내릴 명령을 적어두는 ‘주문서’예요. 아주 읽기 쉬운 형식으로 작성되어 있어요.
  • 서비스(Service): 도커 컴포즈 내에서 실행되는 하나의 컨테이너 단위를 말해요.
💡 알아두기
도커 컴포즈는 도커를 대체하는 것이 아니라, 도커를 더 편리하게 사용하도록 도와주는 ‘관리자’ 역할을 한다는 점을 기억하세요!

2. 도커와 도커 컴포즈의 차이점 비교

많은 분이 이 둘을 혼동하시곤 해요. 아래 표를 통해 어떤 차이가 있는지 한눈에 확인해 보세요.

비교 항목 도커(Docker) 도커 컴포즈(Docker Compose)
주요 역할 개별 컨테이너 생성 및 실행 여러 컨테이너의 통합 관리
명령어 방식 긴 명령어를 매번 직접 입력 YAML 파일 하나로 실행
관리 단위 단일 컨테이너 중심 서비스 그룹(Stack) 중심
사용 난이도 상대적으로 높음 (복잡함) 낮음 (매우 편리함)

3. 설치 전 체크리스트

설치를 시작하기 전에 다음 세 가지만 미리 확인해 주세요. 이 조건이 맞지 않으면 설치 과정에서 에러 메시지가 쏟아질 수 있어요.

  1. 도커 엔진 설치 여부: 도커 컴포즈는 도커가 먼저 깔려 있어야 동작해요. `docker –version` 명령어로 확인해 보세요.
  2. 사용자 권한: 리눅스 환경이라면 `sudo` 권한(관리자 권한)이 필요해요.
  3. 네트워크 연결: 설치 파일을 다운로드해야 하므로 인터넷이 연결되어 있어야 해요.

이 세 가지만 준비되었다면, 이제 본격적인 설치 단계로 넘어갈 준비가 모두 끝난 거예요!

실전! 도커 컴포즈 설치 및 실행 5단계

이제 이론은 접어두고 직접 손을 움직여 볼 시간이에요. 가장 많이 사용하는 리눅스(Ubuntu 기준) 환경을 중심으로, 초보자도 따라 할 수 있게 아주 천천히 설명해 드릴게요. 만약 윈도우나 맥을 사용 중이라면 도커 데스크탑(Docker Desktop)을 설치하는 것만으로도 도커 컴포즈가 자동으로 포함되어 있으니 참고해 주세요.

STEP 1. 현재 환경 점검하기

먼저 내 컴퓨터에 도커가 이미 있는지, 그리고 어떤 버전인지를 확인해야 해요. 터미널을 열고 아래 명령어를 입력해 보세요.

docker --version

만약 버전 정보가 나온다면 일단 첫 단추는 잘 끼운 거예요. 만약 command not found라는 메시지가 뜬다면, 도커 컴포즈를 설치하기 전에 도커 엔진부터 먼저 설치해야 한다는 뜻이에요. 도커가 없다면 도커 컴포즈는 아무런 힘을 쓰지 못하는 빈 껍데기에 불과하거든요.

STEP 2. 도커 컴포즈 다운로드 및 설치

리눅스 환경에서 도커 컴포즈를 설치하는 가장 표준적인 방법은 실행 파일을 직접 다운로드하는 것이에요. 아래의 과정을 한 줄씩 차근차근 따라 해 보세요.

  1. 최신 버전 확인하기: 도커 공식 페이지에서 최신 버전을 확인하는 것이 좋지만, 보통은 아래 명령어로 가장 안정적인 최신 버전을 가져올 수 있어요.
  2. 파일 다운로드: 터미널에 다음 명령어를 입력하세요. (버전 숫자는 실행 시점에 따라 다를 수 있지만, 아래 방식은 일반적인 경로를 따릅니다.)
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  3. 실행 권한 부여하기: 파일을 다운로드만 했다고 해서 바로 명령어를 쓸 수 있는 건 아니에요. 이 파일이 ‘실행 가능한 프로그램’이라는 것을 시스템에 알려줘야 해요.
    sudo chmod +x /usr/local/bin/docker-compose
  4. 설치 확인: 이제 설치가 잘 되었는지 확인해 볼까요?
    docker-compose --version

설치가 성공했다면 `Docker Compose version v2.x.x`와 같은 메시지가 보일 거예요. 이 메시지를 보는 순간, 여러분은 이미 서버 운영의 큰 산 하나를 넘으신 겁니다!

STEP 3. 주문서(YAML) 작성하기

설치만 했다고 끝이 아니에요. 이제 도커 컴포즈에게 무엇을 실행할지 알려주는 docker-compose.yml 파일을 만들어야 해요. 연습 삼아 아주 간단한 웹 서버(Nginx)를 띄우는 설정 파일을 만들어 볼게요.

먼저, 작업할 폴더를 하나 만들고 그 안으로 이동하세요.

mkdir my-web-server && cd my-web-server

그다음, `nano`나 `vi` 같은 편집기를 사용하여 파일을 만듭니다. 아래 내용을 그대로 복사해서 붙여넣어 보세요.

version: "3.8"
services:
  my-nginx:
    image: nginx:latest
    ports:
      - "8080:80"

이 짧은 코드가 무엇을 의미하는지 궁금하시죠? 하나씩 뜯어볼게요.

  • version: “3.8”: 우리가 사용할 도커 컴포즈의 문법 버전을 말해요.
  • services: 이제부터 만들 서비스들의 목록을 적겠다는 뜻이에요.
  • my-nginx: 내가 붙여준 서비스의 이름이에요. 자유롭게 지어도 돼요.
  • image: nginx:latest: ‘nginx’라는 이름의 최신 설계도를 가져와서 쓰겠다는 뜻이에요.
  • ports: “8080:80”: 내 컴퓨터의 8080번 포트와 컨테이너 내부의 80번 포트를 연결하겠다는 뜻이에요. 즉, 웹 브라우저에 localhost:8080을 치면 이 서버가 보이게 됩니다.

STEP 4. 마법의 명령어 실행하기

자, 이제 모든 준비가 끝났어요. 작성한 주문서를 도커 컴포즈에게 전달할 차례예요. 터미널에 다음 명령어를 입력하세요.

docker-compose up -d

여기서 -d라는 옵션이 아주 중요해요. 이것은 데몬(Daemon) 모드로 실행하라는 뜻인데, 이 옵션을 넣지 않으면 터미널 창을 닫는 순간 웹 서버도 같이 꺼져버려요. 하지만 -d를 붙이면 백그라운드에서 조용히, 하지만 강력하게 계속 돌아가게 됩니다.

STEP 5. 정상 작동 확인하기

정말 잘 돌아가고 있는지 확인해야겠죠? 두 가지 방법이 있어요.

  1. 명령어로 확인: docker-compose ps를 입력해 보세요. 현재 실행 중인 서비스의 이름, 상태(Up), 포트 번호가 표 형태로 나타난다면 성공이에요!
  2. 웹 브라우저로 확인: 크롬이나 엣지 같은 브라우저를 열고 주소창에 http://localhost:8080을 입력해 보세요. “Welcome to nginx!”라는 문구가 보인다면 여러분은 방금 첫 번째 컨테이너 서비스를 성공적으로 배포한 거예요!
💡 실무 꿀팁
실제 업무에서는 서버를 끌 때 docker-compose down 명령어를 사용해요. 단순히 멈추는 것이 아니라, 생성했던 컨테이너와 네트워크를 깔끔하게 정리해 주기 때문에 서버 환경을 깨끗하게 유지하는 데 큰 도움이 된답니다.

자주 하는 실수와 해결법 및 FAQ

처음부터 완벽하게 성공하는 사람은 드물어요. 대부분은 아주 사소한 실수 때문에 에러 메시지를 마주하곤 하죠. 실망하지 마세요. 그 에러는 여러분이 서버 전문가로 성장하고 있다는 증거니까요.

자주 하는 실수와 해결법

실제 현장에서 가장 많이 발생하는 사례들을 모아봤어요.

  • 실수: permission denied 에러가 발생해요.
    왜 발생할까요? 리눅스 시스템 폴더에 접근할 권한이 없기 때문이에요.
    해결법: 명령어 앞에 sudo를 붙여 관리자 권한으로 실행하세요.
  • 실수: docker-compose: command not found라고 떠요.
    왜 발생할까요? 설치 경로가 설정되지 않았거나 설치 과정에서 오류가 있었기 때문이에요.
    해결법: 설치 단계를 다시 확인하고, 실행 파일이 ✅ 핵심 요약

    • 도커 컴포즈는 여러 컨테이너를 묶어 관리하는 도구예요.
    • 설치 전 도커 엔진이 이미 깔려 있는지 반드시 확인하세요.
    • 리눅스에서는 실행 권한(chmod +x)을 주는 것을 잊지 마세요.
    • YAML 파일은 들여쓰기가 생명이니 주의가 필요해요.
    • 실행할 때는 백그라운드 모드(-d)를 활용하는 것이 실무적이에요.
    • 문제가 생기면 docker-compose logs로 원인을 파악하세요.

이제 여러분이 할 일은 명확해요. 오늘 배운 내용을 바탕으로 직접 자신의 컴퓨터에서 명령어를 입력해 보는 것이죠. 눈으로 읽는 것과 직접 에러를 마주하며 고치는 것은 하늘과 땅 차이랍니다.

다음 단계로 나아가기

  • 오늘 할 일: 배운 명령어를 그대로 따라 하며 Nginx 서버 하나 띄워보기
  • 이번 주 할 일: DB(MySQL 등)를 추가하여 웹 서버와 연결하는 2개 서비스 구성해 보기
  • 실행 직전 할 할: YAML 파일의 들여쓰기를 검사해 줄 VS Code 설치하기

이해가 안 되는 용어가 있다면 그냥 넘기지 말고, 직접 예제로 한 번씩 실행해 보세요. 몸이 기억하는 지식이 진짜 여러분의 것이 됩니다. 궁금한 점이 생기면 언제든 다시 이 글을 찾아와 주세요!

함께 읽으면 좋은 글: 도커 컴포즈 기본 개념 완벽 정리 — 개념부터 실무 활용까지 한눈에 보는 가이드

댓글 남기기