월. 8월 11th, 2025

D: 🚀 시작하기 전에
우분투에서 도커(Docker)와 도커 컴포즈(Docker Compose)를 설치하는 방법을 단계별로 상세히 안내해드립니다!
“컨테이너 기술이 뭐지?”, “CLI가 어렵다면?” 하는 초보자 분들도 쉽게 따라할 수 있도록 구성했습니다.


🔍 도커(Docker)란?

정의: 애플리케이션을 컨테이너로 묶어 실행하는 오픈소스 플랫폼
장점:

  • 한 번 설정하면 어디서든 동일한 환경 실행 가능 (예: 로컬/클라우드)
  • 가상 머신(VM)보다 가볍고 빠름
  • 마이크로서비스 아키텍처에 최적화

예시:

  • MySQL, Redis 같은 데이터베이스를 1분 만에 설치하고 삭제 가능
  • 웹 서버(Nginx)와 백엔드(Node.js)를 독립된 컨테이너로 동시 실행

📥 우분투에 도커 설치하기

1. 시스템 업데이트

터미널에서 다음 명령어 실행:

sudo apt update && sudo apt upgrade -y

2. 필수 패키지 설치

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

3. 도커 공식 GPG 키 추가

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 저장소 설정

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 도커 엔진 설치

sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y

6. 설치 확인

sudo docker run hello-world

👉 “Hello from Docker!” 메시지가 출력되면 성공!


🛠 도커 컴포즈(Docker Compose) 설치

도커 컴포즈: 여러 컨테이너를 한 번에 관리하는 도구 (예: 웹 서버 + DB)

1. 최신 버전 설치 (2023년 기준 v2.20.3)

sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2. 실행 권한 부여

sudo chmod +x /usr/local/bin/docker-compose

3. 버전 확인

docker-compose --version

👉 출력 예: Docker Compose version v2.20.3


🎯 실전 예제: 웹 서버 + MySQL 연동

1. docker-compose.yml 파일 생성

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: my-secret-pw

2. 서비스 실행

docker-compose up -d

3. 실행 중인 컨테이너 확인

docker-compose ps

4. 접속 테스트

  • 브라우저에서 http://localhost:8080 → Nginx 초기 페이지 확인
  • MySQL 접속:
    docker exec -it [컨테이너_ID] mysql -uroot -pmy-secret-pw

💡 초보자 필수 팁

  1. 도커 명령어 요약:

    • docker ps : 실행 중인 컨테이너 목록
    • docker stop [ID] : 컨테이너 중지
    • docker system prune : 사용하지 않는 리소스 정리
  2. 권한 문제 시 → 사용자를 docker 그룹에 추가:

    sudo usermod -aG docker $USER
  3. GUI 도구 🖥️

    • Portainer: 도커 관리용 웹 대시보드
      docker run -d -p 9000:9000 --name=portainer portainer/portainer

자주 묻는 질문

Q1. 도커와 가상 머신(VM)의 차이?

  • VM: 전체 OS를 가상화 (무거움)
  • 도커: 커널 공유 + 프로세스 격리 (가벼움)

Q2. Permission denied 오류 해결법?

sudo chmod 666 /var/run/docker.sock

🌈 마무리
이제 우분투에서 도커와 도커 컴포즈를 자유롭게 활용해보세요!
궁금한 점은 댓글로 남겨주시면 답변드리겠습니다.

#우분투 #도커 #DevOps #초보자가이드

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다