화. 8월 12th, 2025

D: 🚀 개발자라면 반드시 알아야 할 Docker 명령어를 체계적으로 정리했습니다! 컨테이너 관리부터 이미지 빌드, 네트워킹까지 실무에서 자주 사용하는 50+개의 명령어를 상황별로 분류해 소개합니다.

🔍 Docker 기본 개념 리마인드

도커(Docker)는 애플리케이션을 컨테이너로 패키징하는 오픈소스 플랫폼입니다.

  • 이미지(Image) : 실행 가능한 읽기 전용 템플릿 (예: Ubuntu 20.04, MySQL 8.0)
  • 컨테이너(Container) : 이미지의 실행 인스턴스
  • 도커 허브(Docker Hub) : 공개 이미지 저장소

1️⃣ 컨테이너 생명주기 관리

# 새 컨테이너 생성 + 실행 (가장 많이 사용!)
docker run -it -d --name my_container nginx:latest  

# 실행 중인 컨테이너 목록 확인
docker ps  # 또는 docker container ls

# 모든 컨테이너 확인(중지된 것 포함)
docker ps -a  

# 컨테이너 중지/시작/재시작
docker stop my_container  
docker start my_container  
docker restart my_container

# 컨테이너 삭제 (실행 중인 경우 -f 옵션 추가)
docker rm my_container  

2️⃣ 이미지 관리 필수 명령어

# 이미지 다운로드 (도커 허브에서)
docker pull ubuntu:22.04  

# 로컬 이미지 목록 확인
docker images  

# 이미지 빌드 (Dockerfile 기준)
docker build -t my_app:1.0 .  

# 이미지 삭제
docker rmi nginx:latest  

# 이미지 내부 구조 분석
docker history nginx  

3️⃣ 네트워크 & 볼륨 설정

# 네트워크 목록 확인
docker network ls  

# 사용자 정의 네트워크 생성
docker network create my_network  

# 볼륨 생성 및 연결 예시
docker volume create db_data  
docker run -v db_data:/var/lib/mysql mysql  

# 호스트-컨테이너 포트 매핑 (중요!)
docker run -p 8080:80 nginx  

4️⃣ 실무 활용 고급 명령어

# 실행 중인 컨테이너에 접속
docker exec -it my_container /bin/bash  

# 컨테이너 로그 확인
docker logs -f my_container  

# 시스템 리소스 사용량 모니터링
docker stats  

# 여러 컨테이너 한번에 삭제
docker rm $(docker ps -aq)  

# 사용하지 않는 리소스 일괄 정리
docker system prune  

💡 실전 예제 모음

예시 1) 웹 애플리케이션 실행

docker run -d --name web_app -p 3000:3000 -v $(pwd):/app node:18

예시 2) MySQL 데이터베이스 설정

docker run -d --name mysql_db \
  -e MYSQL_ROOT_PASSWORD=1234 \
  -v mysql_data:/var/lib/mysql \
  -p 3306:3306 \
  mysql:8.0

🛠️ 문제 해결 팁

  1. 포트 충돌 시: netstat -tulnp | grep 8080으로 확인 후 충돌 프로세스 종료
  2. 디스크 공간 부족: docker system df로 사용량 확인 후 prune 명령 실행
  3. 권한 문제: sudo usermod -aG docker $USER로 사용자 추가

📚 추천 학습 자료

이 치트시트를 북마크해두고 필요할 때마다 참고하세요! 🐳 도커 명령어는 처음엔 어렵지만 자주 사용하다 보면 손에 익숙해집니다. 각 명령어에 대한 더 자세한 옵션은 docker [command] --help로 확인할 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다