Docker Install
Docker 설치 및 환경 구성 🛠️
1️⃣ Docker 설치 (Linux, Windows, Mac)
📌 Docker는 다양한 운영체제에서 설치할 수 있으며, 아래 방법을 따라 설치할 수 있습니다.
🔹 1 Linux (Ubuntu 기준)
# 기존 Docker 패키지 제거
sudo apt-get remove docker docker-engine docker.io containerd runc
# 패키지 업데이트 및 필수 패키지 설치
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
# Docker 공식 GPG 키 추가
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Docker 저장소 추가
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker 패키지 설치
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Docker 서비스 활성화 및 실행
sudo systemctl enable --now docker
🛠 설치 확인
docker --version
docker run hello-world
🔹 2 Windows (Docker Desktop)
1️⃣ Docker 공식 사이트에서 Docker Desktop을 다운로드
2️⃣ .exe
파일을 실행하고 설치 진행
3️⃣ 설치 후 Docker 실행 → Settings
에서 WSL 2 기반 엔진 사용
체크
🛠 설치 확인
docker --version
docker run hello-world
🔹 3 Mac (Docker Desktop)
1️⃣ Docker 공식 사이트에서 Docker Desktop for Mac 다운로드
2️⃣ .dmg
파일을 실행하여 설치 진행
3️⃣ 설치 후 Docker 실행
🛠 설치 확인
docker --version
docker run hello-world
2️⃣ Docker 기본 명령어 정리 📜
명령어 | 설명 |
---|---|
docker run |
컨테이너 실행 |
docker ps |
실행 중인 컨테이너 목록 조회 |
docker stop <컨테이너 ID> |
컨테이너 중지 |
docker rm <컨테이너 ID> |
컨테이너 삭제 |
docker logs <컨테이너 ID> |
컨테이너 로그 확인 |
docker exec -it <컨테이너 ID> bash |
실행 중인 컨테이너 내부 접근 |
docker network ls |
네트워크 목록 조회 |
📌 예제
docker run -d --name my-nginx -p 8080:80 nginx
docker ps
docker stop my-nginx
docker rm my-nginx
4. Docker 이미지 & 컨테이너 관리 🎯
4️⃣ Dockerfile 작성 방법 📝
📌 Dockerfile 기본 구조
# 1. 베이스 이미지 설정
FROM ubuntu:latest
# 2. 작업 디렉토리 설정
WORKDIR /app
# 3. 필요한 패키지 설치
RUN apt-get update && apt-get install -y python3
# 4. 애플리케이션 실행 명령어
CMD ["python3", "--version"]
📌 Dockerfile을 활용하면 동일한 환경을 손쉽게 재현할 수 있습니다!
5️⃣ Docker 이미지 빌드 (docker build) 🏗️
📌 Docker 이미지 빌드
docker build -t my-python-app .
📌 이미지 목록 확인
docker images
📌 이미지 삭제
docker rmi my-python-app
6️⃣ 컨테이너 실행 및 관리 🛠️
📌 컨테이너 실행 (포트 매핑 포함)
docker run -d -p 8080:80 --name my-nginx nginx
📌 실행 중인 컨테이너 목록 확인
docker ps
📌 모든 컨테이너 목록 확인 (중지된 컨테이너 포함)
docker ps -a
📌 컨테이너 중지 및 삭제
docker stop my-nginx
docker rm my-nginx
7️⃣ 컨테이너 로그 확인 및 디버깅 🔎
📌 컨테이너 로그 확인
docker logs my-nginx
📌 컨테이너 상세 정보 조회
docker inspect my-nginx
📌 컨테이너의 실시간 로그 보기
docker logs -f my-nginx
8️⃣ 컨테이너 내부 접근 (docker exec) 💻
📌 컨테이너 내부로 진입
docker exec -it my-nginx bash
📌 특정 명령어 실행
docker exec my-nginx ls /usr/share/nginx/html
📌 컨테이너 종료 후 자동 삭제 (--rm
옵션 사용)
docker run --rm -it ubuntu bash
결론 🎯
✅ Docker를 설치하고 기본적인 명령어를 익히면, 컨테이너 기반 환경을 쉽게 구성할 수 있습니다.
✅ Docker Compose를 사용하면 여러 개의 컨테이너를 더욱 간편하게 관리할 수 있습니다.
✅ Docker 이미지를 빌드하고, 컨테이너를 실행하며, 로그 확인 및 디버깅 방법을 익히는 것이 중요합니다!
📌 추가 학습 리소스