우분투에서 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 Enginedocker-ce-cli: Docker CLIcontainerd.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 설치가 완료되었다면 이제 다음을 시도해볼 수 있다:
- 기본 컨테이너 실행:
docker run nginx:latest - Docker Compose 사용: 멀티 컨테이너 애플리케이션 구성
- 이미지 빌드:
Dockerfile을 이용한 커스텀 이미지 생성 - 볼륨 관리: 데이터 지속성을 위한 볼륨 설정