D: 우분투에서 도커를 사용하면 개발 환경 구축이 쉬워지고, 다양한 애플리케이션을 컨테이너로 손쉽게 실행할 수 있습니다. 이번 포스팅에서는 우분투에 도커와 최신 버전의 도커 컴포즈(Docker Compose V2)를 설치하는 방법을 단계별로 상세히 설명드리겠습니다. 🚀
1. 사전 준비 작업 🔧
도커 설치 전에 시스템을 최신 상태로 업데이트합니다.
sudo apt update && sudo apt upgrade -y
필요한 패키지들을 설치합니다.
sudo apt install -y ca-certificates curl gnupg lsb-release
2. 도커 공식 GPG 키 및 저장소 추가 🔑
도커의 공식 GPG 키를 추가합니다.
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
도커 공식 저장소를 추가합니다. (우분투 버전에 맞게 설정)
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
3. 도커 엔진 설치 🏗️
저장소 정보를 업데이트한 후 도커를 설치합니다.
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
설치가 완료되면 도커 서비스를 시작하고 활성화합니다.
sudo systemctl start docker
sudo systemctl enable docker
4. 도커 컴포즈 V2 설치 �
도커 컴포즈 V2는 이제 도커 CLI의 플러그인으로 제공됩니다.
sudo apt install -y docker-compose-plugin
설치 확인:
docker compose version
출력 예시:
Docker Compose version v2.17.2
5. 설치 확인 및 테스트 ✅
도커가 정상적으로 설치되었는지 확인합니다.
sudo docker run hello-world
정상적으로 설치되었다면 다음과 같은 메시지가 출력됩니다:
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
6. (선택) sudo 없이 도커 사용하기 👥
기본적으로 도커 명령은 root 권한이 필요합니다. sudo 없이 사용하려면 사용자를 docker 그룹에 추가합니다.
sudo usermod -aG docker $USER
newgrp docker # 그룹 변경 적용
7. 도커 컴포즈 예제 실행 🚀
간단한 도커 컴포즈 예제를 실행해보겠습니다.
mkdir docker-compose-demo && cd docker-compose-demo
nano docker-compose.yml
다음 내용을 입력합니다:
version: '3'
services:
web:
image: nginx:alpine
ports:
- "8080:80"
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: example
서비스 실행:
docker compose up -d
실행 중인 컨테이너 확인:
docker compose ps
8. 도커 및 도커 컴포즈 제거 🗑️
도커를 완전히 제거하려면:
sudo apt purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
9. 자주 발생하는 문제 해결 🔧
문제 1: 도커 명령어 실행 시 권한 오류 발생
Got permission denied while trying to connect to the Docker daemon socket
➡️ 해결: 사용자를 docker 그룹에 추가하고 로그아웃/로그인
문제 2: 도커 컴포즈 명령어가 작동하지 않음
Command 'docker-compose' not found
➡️ 해결: docker compose
명령어 사용 (V2는 이제 플러그인 형태)
10. 추가 팁 💡
- 도커 스토리지 드라이버 변경:
/etc/docker/daemon.json
파일 수정 - 도커 시작 시 자동 실행 서비스 관리:
sudo systemctl enable docker
- 도커 로그 확인:
journalctl -u docker.service
이제 우분투 시스템에서 도커와 도커 컴포즈를 자유롭게 사용할 수 있습니다! 🎉 컨테이너 기반 개발을 시작해보세요. 추가 궁금한 점이 있다면 댓글로 남겨주세요. 😊