일. 8월 3rd, 2025

Docker는 현대 개발 인프라의 핵심 도구로, 컨테이너화된 애플리케이션을 관리하는 데 필수적입니다. 이 가이드에서는 개발자와 DevOps 엔지니어가 반드시 알아야 할 Docker 명령어 30가지를 카테고리별로 상세히 설명합니다. 모든 예제는 실제 사용 사례를 반영했습니다!


🛠️ 1. 기본 명령어 & 정보 확인

docker version

Docker 클라이언트와 서버 버전 확인

docker version
# Client: Docker Engine - Community
# Server: Docker Engine - Community

docker info

Docker 시스템 전반적인 정보 확인 (컨테이너/이미지 수, 메모리 사용량 등)

docker info | grep Containers
# Containers: 14

📦 2. 이미지 관리

docker images

로컬에 저장된 도커 이미지 목록 출력

docker images
# REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
# nginx        latest    605c77e624dd   2 months ago    141MB

docker pull

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

docker pull ubuntu:22.04

docker rmi

로컬 이미지 삭제

docker rmi nginx:alpine

docker build

Dockerfile로 이미지 빌드

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

docker tag

이미지에 새 태그 부여

docker tag my-app:1.0 my-registry.com/my-app:prod

docker push

이미지 레지스트리에 업로드

docker push my-registry.com/my-app:prod

docker commit

실행 중인 컨테이너로부터 새 이미지 생성

docker commit my-container my-snapshot

🐋 3. 컨테이너 실행 & 관리

docker run

새 컨테이너 실행 (⭐️ 가장 핵심!)

docker run -d -p 8080:80 --name web nginx
# -d: 백그라운드 실행, -p: 포트 매핑, --name: 이름 지정

docker ps

실행 중인 컨테이너 목록 확인

docker ps -a  # -a: 중지된 컨테이너 포함 전체 조회

docker stop

실행 중인 컨테이너 정지

docker stop web

docker start

중지된 컨테이너 재시작

docker start web

docker rm

컨테이너 삭제

docker rm web
docker rm $(docker ps -aq)  # 모든 컨테이너 삭제

docker exec

실행 중인 컨테이너 내부에서 명령 실행

docker exec -it web bash
# -it: 인터랙티브 터미널 모드

docker cp

호스트 ↔ 컨테이너 간 파일 복사

docker cp index.html web:/usr/share/nginx/html

📊 4. 모니터링 & 로그

docker logs

컨테이너 로그 확인

docker logs -f web  # -f: 실시간 스트리밍

docker stats

실시간 리소스 사용량 모니터링

docker stats
# CONTAINER ID   NAME   CPU %   MEM USAGE / LIMIT

docker top

컨테이너 내 실행 중인 프로세스 확인

docker top web

docker inspect

컨테이너/이미지 상세 정보 JSON 출력

docker inspect web | grep IPAddress

🌐 5. 네트워킹

docker network ls

네트워크 목록 조회

docker network ls
# NETWORK ID     NAME      DRIVER

docker network create

사용자 정의 네트워크 생성

docker network create my-net

docker network connect

컨테이너를 네트워크에 연결

docker network connect my-net web

💾 6. 볼륨 관리

docker volume create

영구 데이터 저장용 볼륨 생성

docker volume create db-data

docker volume ls

볼륨 목록 확인

docker volume ls

docker volume inspect

볼륨 상세 정보 확인

docker volume inspect db-data

🚀 7. Docker Compose

docker-compose up

docker-compose.yml 기반 서비스 실행

docker-compose up -d  # 백그라운드 실행

docker-compose down

Compose로 실행한 서비스 중지 및 삭제

docker-compose down --volumes  # 볼륨 함께 삭제

🧹 8. 시스템 관리

docker system prune

사용하지 않는 리소스 일괄 정리

docker system prune -a --volumes
# -a: 사용 안 하는 이미지 포함, --volumes: 볼륨 삭제

docker login

레지스트리 로그인 (Docker Hub 등)

docker login registry.example.com

docker logout

레지스트리 로그아웃

docker logout registry.example.com

docker search

Docker Hub에서 이미지 검색

docker search --limit 5 redis

🏁 마무리

이 30가지 명령어만 익혀도 Docker 생태계에서 90% 이상의 작업을 수행할 수 있습니다! 실제 서비스 운영 시 자주 사용하는 명령어들입니다. 🎯

> 실전 팁
> – docker run--restart=always로 컨테이너 자동 재시작 설정
> – docker exec -it 대신 docker attach는 사용 지양 (컨테이너 종료 시 프로세스 중단됨)
> – 프로덕션 환경에선 반드시 docker-compose로 관리 권장

명령어를 직접 타이핑하며 익히는 것이 가장 효과적입니다. Happy Dockerizing! 🐳💻

답글 남기기

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