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
💡 초보자 필수 팁
-
도커 명령어 요약:
docker ps
: 실행 중인 컨테이너 목록docker stop [ID]
: 컨테이너 중지docker system prune
: 사용하지 않는 리소스 정리
-
권한 문제 시 → 사용자를
docker
그룹에 추가:sudo usermod -aG docker $USER
-
GUI 도구 🖥️
- Portainer: 도커 관리용 웹 대시보드
docker run -d -p 9000:9000 --name=portainer portainer/portainer
- Portainer: 도커 관리용 웹 대시보드
❓ 자주 묻는 질문
Q1. 도커와 가상 머신(VM)의 차이?
- VM: 전체 OS를 가상화 (무거움)
- 도커: 커널 공유 + 프로세스 격리 (가벼움)
Q2. Permission denied
오류 해결법?
sudo chmod 666 /var/run/docker.sock
🌈 마무리
이제 우분투에서 도커와 도커 컴포즈를 자유롭게 활용해보세요!
궁금한 점은 댓글로 남겨주시면 답변드리겠습니다.
#우분투 #도커 #DevOps #초보자가이드