도커는 현대 개발 인프라의 핵심 기술로, 컨테이너 기반 환경을 효율적으로 관리합니다. 초보자부터 전문가까지 반드시 알아야 할 핵심 명령어 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)
💡 생활 코너: 자주 하는 실수 방지법
-
docker run
vsdocker start
run
: 새 컨테이너 생성 + 실행start
: 기존 컨테이너 시작
-
포트 충돌 오류
Error: Port 8080 is already allocated
→
docker ps
로 사용 중인 포트 확인 후 변경 -
볼륨 데이터 소실 주의
컨테이너 삭제 시-v
옵션 없으면 볼륨 데이터 유지됨docker rm -v my_container # 볼륨 함께 삭제
✅ 마무리: 학습 로드맵
- 기본 명령어 숙지 →
run
,ps
,logs
- 이미지 빌드 연습 → Dockerfile 작성 +
build
- 네트워크/볼륨 실습 → 멀티 컨테이너 앱 구성
- 공식 문서 탐색 : docs.docker.com
> “도커는 명령어 습관이 생명입니다. 매일 10분씩 터미널로 실습해보세요!” 💻🐋
이 가이드로 도커 여정이 한층 편안해지길 바랍니다. 문의사항은 댓글로 남겨주세요! 👇 D