Docker 실무 가이드 · 치트시트

Docker 명령 치트시트

컨테이너 상태 확인, 실행과 접속, 이미지 빌드, Compose 루틴, 정리 명령을 실무 사용 순서에 맞춰 정리했습니다.

작성 기준2026년 7월

01

상태 확인

Docker가 정상 동작하는지와 현재 떠 있는 컨테이너, 이미지, 디스크 사용량을 확인합니다.

docker version클라이언트와 서버 엔진 버전 확인
docker compose versionDocker Compose 플러그인 버전 확인
docker infoDocker 엔진 상태와 기본 설정 확인
docker ps실행 중인 컨테이너 확인
docker ps -a종료된 컨테이너까지 포함해 확인
docker image ls로컬 이미지 목록 확인
docker volume ls로컬 볼륨 목록 확인
docker system df이미지, 컨테이너, 볼륨, 빌드 캐시 사용량 확인
02

실행과 접속

컨테이너를 띄우고 로그를 보며, 필요한 경우 컨테이너 안으로 들어가 조사합니다.

docker run --rm node:24 node -v일회성 컨테이너 실행 후 자동 삭제
docker run -d --name web -p 8080:80 nginxnginx를 백그라운드로 실행하고 포트 연결
docker run -d --name db -e POSTGRES_PASSWORD=dev -p 5432:5432 -v pg-data:/var/lib/postgresql/data postgres:16로컬 개발용 PostgreSQL을 named volume과 함께 실행
docker logs -f --tail 100 web최근 로그부터 실시간 추적
docker exec -it web sh실행 중인 컨테이너 내부 셸 접속
docker port web컨테이너 포트가 호스트 어디에 연결됐는지 확인
docker inspect web컨테이너 상세 설정 확인
docker stop web컨테이너 정상 종료
03

이미지 빌드와 관리

Dockerfile로 이미지를 만들고 태그를 붙여 공유 가능한 산출물로 관리합니다.

docker build -t app:dev .현재 폴더 기준으로 app:dev 이미지 빌드
docker build -f Dockerfile.dev -t app:dev .기본 Dockerfile이 아닌 개발용 Dockerfile로 빌드
docker build --no-cache -t app:debug .캐시 영향을 배제하고 문제 재현용 빌드
docker history app:dev이미지 레이어와 크기 확인
docker image inspect app:dev이미지 메타데이터와 설정 확인
docker pull postgres:16레지스트리에서 이미지 내려받기
docker tag app:dev registry.example.com/app:dev레지스트리 업로드용 태그 추가
docker push registry.example.com/app:dev권한이 있는 레지스트리에 이미지 업로드
docker image rm app:dev로컬 이미지 삭제
04

Compose 루틴

여러 서비스를 함께 띄우는 로컬 개발 환경에서 자주 쓰는 명령입니다.

docker compose configcompose.yml 해석 결과와 문법 확인
docker compose config --servicesCompose가 인식한 서비스 이름만 확인
docker compose pullcompose.yml에 적힌 외부 이미지를 미리 내려받기
docker compose up -d서비스를 백그라운드로 실행
docker compose up --build -d이미지를 다시 빌드한 뒤 백그라운드 실행
docker compose psCompose 서비스 상태 확인
docker compose logs --tail 100 -f app특정 서비스 최근 로그부터 실시간 추적
docker compose exec app sh특정 서비스 컨테이너에 접속
docker compose restart app특정 서비스만 재시작
docker compose down컨테이너와 네트워크 종료
docker compose down --remove-orphanscompose.yml에서 빠진 오래된 컨테이너까지 정리
05

정리와 용량 관리

쌓인 컨테이너, 이미지, 빌드 캐시를 정리할 때 사용합니다. 볼륨 삭제 여부는 특히 주의합니다.

docker container prune중지된 컨테이너 삭제
docker image prunedangling 이미지 삭제
docker builder prune빌드 캐시 삭제
docker volume ls볼륨 목록 확인
docker volume inspect <volume>볼륨이 어떤 경로와 컨테이너에 연결되는지 확인
docker compose down -vCompose 종료와 함께 볼륨까지 삭제
루틴

상황별 실무 루틴

로컬 개발 스택 첫 실행

앱, DB, 캐시가 함께 떠야 하는 프로젝트는 Compose 설정 확인 후 실행하고 로그까지 봅니다.

docker compose configcompose.yml 문법과 치환된 환경변수 확인
docker compose pull외부 이미지를 미리 내려받아 실행 실패 원인 분리
docker compose up --build -d필요한 이미지를 빌드하고 전체 서비스 백그라운드 실행
docker compose ps서비스별 상태와 포트 확인
docker compose logs --tail 100 -f app앱 서비스가 정상 기동하는지 로그 확인
앱 컨테이너만 다시 빌드

Dockerfile이나 의존성이 바뀐 경우 전체 DB 볼륨을 건드리지 않고 앱 서비스만 갱신합니다.

docker compose build appapp 서비스 이미지만 다시 빌드
docker compose up -d appapp 서비스 컨테이너만 새 이미지로 재생성
docker compose logs --tail 100 -f app재기동 후 오류 로그 확인
접속이 안 될 때 점검

서버가 안 뜬 것인지, 포트 매핑이 다른 것인지, 컨테이너 내부에서 실패한 것인지 나눠 봅니다.

docker compose ps서비스가 실행 중인지와 호스트 포트 확인
docker compose logs --tail 100 app앱 시작 실패, DB 연결 실패 등 로그 확인
docker port <container>실제 포트 매핑 확인
docker inspect <container>환경변수, 네트워크, 마운트 설정 확인
DB 데이터 보존하며 재시작

개발 DB 데이터를 유지해야 한다면 볼륨 삭제 옵션을 쓰지 않고 컨테이너만 내렸다 올립니다.

docker compose down컨테이너와 네트워크만 종료
docker volume lsDB named volume이 남아 있는지 확인
docker compose up -d dbDB 서비스만 먼저 실행
docker compose up -d app앱 서비스를 다시 연결
주의

docker compose down -v는 볼륨까지 삭제하므로 샘플 데이터와 수동 입력 데이터가 필요하면 쓰지 않습니다.

안전한 용량 정리

정리 명령은 삭제 범위가 넓습니다. 현재 사용량을 보고 중지 컨테이너, dangling 이미지, 빌드 캐시 순서로 좁게 정리합니다.

docker system df삭제 전 용량 사용 현황 확인
docker container prune중지된 컨테이너만 정리
docker image prunedangling 이미지만 정리
docker builder prune빌드 캐시 정리
docker system prune -a --volumes이미지와 볼륨까지 대량 삭제. 공유 환경에서는 금지에 가깝게 취급
주의

실무에서 특히 조심할 명령

docker system prune -a --volumes

사용하지 않는 이미지, 중지된 컨테이너, 네트워크, 빌드 캐시, 볼륨까지 삭제할 수 있습니다. 로컬 DB 데이터가 필요한지 먼저 확인하세요.

docker compose down -v

Compose 프로젝트의 named volume까지 제거합니다. 개발 DB에 넣어둔 샘플 데이터와 수동 테스트 데이터가 사라질 수 있습니다.

docker rm -f <container>

실행 중인 컨테이너를 강제로 종료하고 삭제합니다. 종료 처리나 로그 수집이 끝나기 전에 끊길 수 있습니다.

docker volume rm <volume>

볼륨은 컨테이너 삭제 후에도 데이터를 남기기 위한 저장소입니다. 삭제 전 백업 필요 여부를 확인하세요.

docker run -v /:/host ...

호스트 전체 파일 시스템을 컨테이너에 노출합니다. 실수나 악성 명령이 호스트 파일에 영향을 줄 수 있습니다.

실행 전 기준

볼륨, 이미지, 컨테이너를 삭제하는 명령은 먼저 `docker ps -a`, `docker volume ls`, `docker system df`로 대상을 확인하세요. 운영 서버나 공유 개발 서버에서는 팀 합의 없이 prune 계열 명령을 실행하지 않는 것이 원칙입니다.

루틴

컨테이너 문제 조사 순서

먼저 볼 것
docker ps -adocker logs --tail 100 <container>docker inspect <container>
NEXT
그 다음 확인
  • 호스트 포트 충돌 여부
  • 환경변수 누락 여부
  • 볼륨 경로와 데이터 보존 여부
  • 컨테이너 안 권한과 실행 사용자