D: 🚢 도커(Docker)는 현대 개발자라면 반드시 익혀야 할 필수 기술입니다. 이 가이드에서는 초보자부터 전문가까지 모두 활용할 수 있는 도커 CLI 명령어를 상세히 설명드리겠습니다.
1️⃣ 기초 명령어: 도커 입문자를 위한 필수 키트
# 도커 버전 확인 🏷️
docker --version
# 실행 중인 컨테이너 확인 👀
docker ps
# 모든 컨테이너 확인 (실행 중 + 중지된)
docker ps -a
# 이미지 목록 보기 🖼️
docker images
예시 활용:
# NGINX 컨테이너 실행 (포트 8080으로 연결)
docker run -d -p 8080:80 --name my-nginx nginx
2️⃣ 이미지 관리: 도커의 핵심 구성 요소
# 이미지 다운로드 받기 ⬇️
docker pull ubuntu:20.04
# 이미지 삭제 ❌
docker rmi nginx
# 이미지 상세 정보 확인 🔍
docker inspect nginx
💡 팁: docker pull
시 태그를 명시하지 않으면 latest
태그가 자동 적용됩니다.
3️⃣ 컨테이너 제어: 실행부터 삭제까지
# 컨테이너 시작/정지 ⏯️
docker start [컨테이너ID]
docker stop [컨테이너ID]
# 컨테이너 로그 확인 📜
docker logs -f [컨테이너ID]
# 실행 중인 컨테이너에 접속 💻
docker exec -it [컨테이너ID] /bin/bash
실전 예제:
# Redis 컨테이너 실행 후 CLI 접속
docker run -d --name my-redis redis
docker exec -it my-redis redis-cli
4️⃣ 고급 활용: 개발자를 위한 프로 기술
# 볼륨 마운트 (호스트 ↔ 컨테이너 데이터 공유) 💾
docker run -v /호스트/경로:/컨테이너/경로 nginx
# 네트워크 생성 🌐
docker network create my-network
# 컴포즈 파일 실행 (멀티 컨테이너) 🎼
docker-compose up -d
볼륨 사용 사례:
# 호스트의 ~/app_data를 컨테이너의 /app에 연결
docker run -v ~/app_data:/app my-custom-app
5️⃣ 문제 해결: 장애 대응 방법
# 컨테이너 리소스 사용량 확인 📊
docker stats
# 컨테이너 내부 프로세스 확인 🔎
docker top [컨테이너ID]
# 죽은 컨테이너 일괄 삭제 �
docker container prune
🛠️ 디버깅 팁: docker logs --tail 100 -f [컨테이너ID]
로 최근 로그 100줄을 실시간 확인 가능
6️⃣ 생산성을 높이는 유용한 명령어 모음
# 모든 컨테이너/이미지/네트워크 일괄 삭제 ☢️
docker system prune -a
# 명령어 히스토리 확인 🕰️
history | grep docker
# 이미지 빌드 🏗️
docker build -t my-image:1.0 .
빌드 최적화 예시:
# Dockerfile
FROM python:3.9-slim
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
🎯 마무리: 도커 CLI 마스터를 위한 3가지 원칙
--help
옵션을 적극 활용하세요 (예:docker run --help
)- 컨테이너는 무상태(Stateless)로 설계해야 합니다
- 자주 사용하는 명령어는 쉘 앨리어스로 등록해 두세요!
# .bashrc 또는 .zshrc에 추가
alias dps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"'
이제 여러분은 도커 CLI의 고수가 되셨습니다! 🎉 컨테이너 세계에서 즐거운 여정 되세요~ 🐳