화. 7월 22nd, 2025

도커는 현대 개발 인프라의 핵심 기술로, 컨테이너 기반 환경을 효율적으로 관리합니다. 초보자부터 전문가까지 반드시 알아야 할 핵심 명령어 20+를 카테고리별로 상세히 정리했습니다. 모든 예제는 실제 사용 환경을 반영하였습니다!


🚀 1. 컨테이너 실행 & 관리

컨테이너의 생명주기를 다루는 필수 명령어

docker run – 새 컨테이너 생성/실행

docker run [옵션] 이미지_이름 [명령어]
  • 옵션:
    -d : 백그라운드 실행 (detached)
    -p 8080:80 : 포트 매핑 (호스트:컨테이너)
    -v /host/path:/container/path : 볼륨 마운트
    --name my_container : 이름 지정
    -e VAR=value : 환경변수 설정
  • 예시:
    docker run -d -p 8080:80 --name my_web nginx:latest

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

docker start my_container  # 중지된 컨테이너 시작
docker stop my_container   # 정상 종료 (SIGTERM)
docker restart my_container # 재시작

docker exec – 실행 중인 컨테이너에 명령어 전달

docker exec -it my_container /bin/bash  # 대화형 쉘 접속
  • -it : 인터랙티브 모드 (입출력 가능)

📦 2. 이미지 관리

도커 이미지 조작 핵심 명령어

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

docker images  # 전체 이미지 출력
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    abcdef123456   2 weeks ago    133MB

docker pull – 레지스트리에서 이미지 다운로드

docker pull ubuntu:22.04  # 태그 명시 필수!

docker build – Dockerfile로 이미지 생성

docker build -t my-app:1.0 .  # 현재 디렉토리의 Dockerfile 사용
  • -t : 태그 이름 지정

docker rmi – 이미지 삭제

docker rmi nginx:old  # 태그 삭제
docker rmi abcdef123456  # ID로 강제 삭제 (이미지 사용 중이면 오류)

🔍 3. 상태 확인 & 모니터링

실시간 시스템 관리를 위한 명령어

docker ps – 실행 중인 컨테이너 확인

docker ps           # 실행 중인 컨테이너만
docker ps -a        # 모든 컨테이너 (중지 포함)
docker ps -q        # 컨테이너 ID만 출력

docker logs – 컨테이너 로그 확인

docker logs my_container         # 전체 로그
docker logs -f my_container      # 실시간 스트리밍 (tail -f)
docker logs --tail 100 my_container  # 최근 100줄만

docker stats – 실시간 자원 사용량

docker stats  # CPU, 메모리, 네트워크 사용량 모니터링

🌐 4. 네트워크 관리

컨테이너 간 통신 설정

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

NETWORK ID     NAME      DRIVER    SCOPE
a1b2c3d4       bridge    bridge    local

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

docker network create my_network

docker network connect – 컨테이너를 네트워크에 연결

docker network connect my_network my_container

💾 5. 볼륨 관리

영구 데이터 저장소 설정

docker volume create – 볼륨 생성

docker volume create my_volume

docker volume ls – 볼륨 목록 확인

DRIVER    VOLUME NAME
local     my_volume

docker volume inspect – 볼륨 상세 정보

docker volume inspect my_volume

6. 시스템 정리

자원 효율적 관리

docker system prune – 사용되지 않는 자원 일괄 삭제

docker system prune -a  # 중지 컨테이너, 사용 안 하는 이미지/네트워크/볼륨 전체 삭제

docker system df – 도커 디스크 사용량

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          5         2         1.2GB     800MB (66%)
Containers      3         1         150MB     100MB (66%)

🛠️ 7. 고급 명령어

상황별 활용 팁

  • 컨테이너 내부 구조 분석:

    docker diff my_container  # 변경된 파일 목록 (A:추가, D:삭제, C:변경)
  • 이미지 레이어 확인:

    docker history nginx:latest
  • 모든 컨테이너 일괄 삭제:

    docker rm -f $(docker ps -aq)

💡 생활 코너: 자주 하는 실수 방지법

  1. docker run vs docker start

    • run : 새 컨테이너 생성 + 실행
    • start : 기존 컨테이너 시작
  2. 포트 충돌 오류

    Error: Port 8080 is already allocated

    docker ps로 사용 중인 포트 확인 후 변경

  3. 볼륨 데이터 소실 주의
    컨테이너 삭제 시 -v 옵션 없으면 볼륨 데이터 유지됨

    docker rm -v my_container  # 볼륨 함께 삭제

마무리: 학습 로드맵

  1. 기본 명령어 숙지run, ps, logs
  2. 이미지 빌드 연습 → Dockerfile 작성 + build
  3. 네트워크/볼륨 실습 → 멀티 컨테이너 앱 구성
  4. 공식 문서 탐색 : docs.docker.com

> “도커는 명령어 습관이 생명입니다. 매일 10분씩 터미널로 실습해보세요!” 💻🐋

이 가이드로 도커 여정이 한층 편안해지길 바랍니다. 문의사항은 댓글로 남겨주세요! 👇 D

답글 남기기

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