우분투에서 Docker 설치하기

우분투에서 Docker 설치하기

🐳

우분투에서 Docker를 설치하는 방법은 여러 가지가 있지만, 가장 안정적이고 최신 버전을 사용할 수 있는 공식 Docker 저장소를 이용한 설치 방법을 소개한다.

🚀 시작하기 전에

이 가이드는 다음 우분투 버전에서 설치하였다:

  • Ubuntu 24.04 LTS (Noble Numbat)

📋 사전 작업

1. 시스템 업데이트

sudo apt update
sudo apt upgrade -y

2. 기존 Docker 패키지 제거 (있다면)

sudo apt remove docker docker-engine docker.io containerd runc -y

🔧 Docker 공식 저장소 설정

1. 필수 패키지 설치

sudo apt install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release -y

2. Docker GPG 키 추가

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3. Docker 저장소 추가

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

📦 Docker Engine 설치

1. 패키지 목록 업데이트

sudo apt update

2. Docker Engine 설치

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

이 명령어로 설치되는 구성 요소들:

  • docker-ce: Docker Engine
  • docker-ce-cli: Docker CLI
  • containerd.io: 컨테이너 런타임
  • docker-buildx-plugin: 확장된 빌드 기능
  • docker-compose-plugin: Docker Compose V2

⚙️ Docker 설정

1. Docker 서비스 시작 및 자동 시작 설정

sudo systemctl start docker
sudo systemctl enable docker

2. 현재 사용자를 docker 그룹에 추가

sudo usermod -aG docker $USER

중요: 이 설정을 적용하려면 로그아웃 후 다시 로그인하거나 다음 명령어를 실행해야 한다:

newgrp docker

✅ 설치 확인

1. Docker 버전 확인

docker --version

2. Docker 정보 확인

docker info

3. 테스트 컨테이너 실행

docker run hello-world

성공적으로 실행되면 다음과 같은 메시지가 나타난다:

Hello from Docker!
This message shows that your installation appears to be working correctly.

🐍 Docker Compose 확인

Docker Compose V2가 플러그인으로 설치되었는지 확인:

docker compose version

🔍 추가 설정 (선택사항)

Docker 로그 크기 제한 설정

Docker 컨테이너 로그가 계속 쌓이는 것을 방지하기 위해 설정:

sudo nano /etc/docker/daemon.json

다음 내용 추가:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

설정 적용:

sudo systemctl restart docker

Docker 스토리지 드라이버 확인

docker info | grep "Storage Driver"

🚨 문제 해결

Permission denied 에러가 발생한다면

# 현재 사용자가 docker 그룹에 속해있는지 확인
groups $USER

# docker 그룹이 없다면 다시 추가
sudo usermod -aG docker $USER
newgrp docker

Docker 서비스가 시작되지 않는다면

# Docker 서비스 상태 확인
sudo systemctl status docker

# Docker 로그 확인
sudo journalctl -u docker.service

🎯 다음 단계

Docker 설치가 완료되었다면 이제 다음을 시도해볼 수 있다:

  1. 기본 컨테이너 실행: docker run nginx:latest
  2. Docker Compose 사용: 멀티 컨테이너 애플리케이션 구성
  3. 이미지 빌드: Dockerfile을 이용한 커스텀 이미지 생성
  4. 볼륨 관리: 데이터 지속성을 위한 볼륨 설정