Docker 명령어 핸드북

핵심 요약: Docker 명령어는 이미지 관리, 컨테이너 관리, 네트워크 관리, 볼륨 관리, 레지스트리 상호작용, 시스템 관리, Docker Compose 등 주요 기능별로 구분된다. 각 명령어는 컨테이너화된 환경 구축과 운영을 간소화하며, 일관성 있는 배포·확장을 가능하게 한다.

1. 개요 및 준비

Docker CLI는 터미널에서 Docker 데몬과 상호작용하기 위한 기본 도구이다.

  • 도구 설치 확인:
docker version           # 클라이언트·서버 버전 확인  
docker info              # 실행 환경 및 리소스 현황 조회  
  • 도움말 조회:
docker help              # 전체 명령어 목록  
docker <command> --help  # 특정 명령어 상세 옵션  

2. 이미지 관리

이미지는 애플리케이션 실행 환경의 청사진으로, 빌드·태깅·삭제 단계로 구성된다.

기능명령어설명
이미지 목록docker images로컬에 저장된 모든 이미지 표시1
이미지 빌드docker build -t <이름>:<태그> <경로>Dockerfile로부터 이미지 생성1
이미지 태깅docker tag <원본>:<태그> <레포지토리>/<이름>:<태그>레포지토리용 태그 지정1
이미지 삭제docker rmi <이미지>하나 이상의 이미지 제거1

심화 팁:

  • --no-cache 옵션으로 레이어 캐시 무시
  • --pull 옵션으로 베이스 이미지 최신화

3. 컨테이너 관리

컨테이너는 이미지를 실행한 인스턴스로, 생성·실행·종료·삭제 단계로 분류된다.

기능명령어설명
컨테이너 생성docker create <이미지>실행은 하지 않고 컨테이너만 생성1
컨테이너 실행docker run [옵션] <이미지> [명령]새 컨테이너 생성 후 명령 실행1
실행 중 컨테이너 조회docker ps동작 중인 컨테이너 리스트1
전체 컨테이너 조회docker ps -a중지된 컨테이너 포함 모든 리스트1
컨테이너 시작docker start <컨테이너>중지된 컨테이너 재시작1
컨테이너 중지docker stop <컨테이너>실행 중인 프로세스에 SIGTERM 전송 후 종료1
컨테이너 삭제docker rm <컨테이너>중지된 컨테이너 제거1
명령 실행docker exec -it <컨테이너> <명령>실행 중 컨테이너에 명령 전달1
로그 조회docker logs <컨테이너>STDOUT/STDERR 로그 스트림 출력1

주요 옵션:

  • -d: 백그라운드(detached) 모드
  • -p: 호스트>컨테이너 포트 매핑
  • -v: 볼륨 마운트

4. 네트워크 관리

컨테이너 간 통신·격리를 위해 네트워크 생성·연결·검사·삭제가 필요하다.

기능명령어설명
네트워크 목록docker network ls구성된 네트워크 표시1
네트워크 생성docker network create <네트워크>새 네트워크 생성1
네트워크 연결docker network connect <네트워크> <컨테이너>컨테이너를 네트워크에 연결1
네트워크 분리docker network disconnect <네트워크> <컨테이너>컨테이너 분리1
네트워크 삭제docker network rm <네트워크>네트워크 제거1
네트워크 상세docker network inspect <네트워크>구성·정책 정보 출력1

5. 볼륨 관리

데이터 지속성·공유를 위해 볼륨을 생성·마운트·삭제한다.

기능명령어설명
볼륨 목록docker volume ls모든 볼륨 표시1
볼륨 생성docker volume create <이름>새 볼륨 생성1
볼륨 마운트docker run -v <볼륨>:<경로> <이미지>컨테이너에 볼륨 연결1
볼륨 정보docker volume inspect <볼륨>경로·드라이버 등 상세 정보1
볼륨 삭제docker volume rm <볼륨>사용되지 않는 볼륨 제거1

6. 레지스트리 상호작용

이미지 공유를 위한 레지스트리 로그인·푸시·풀·검색 기능 포함.

기능명령어설명
로그인docker login [레지스트리]인증 정보 저장1
로그아웃docker logout [레지스트리]인증 정보 제거1
이미지 푸시docker push <레포>/<이미지>:<태그>레지스트리에 이미지 업로드1
이미지 풀docker pull <이미지>:<태그>레지스트리에서 이미지 다운로드1
이미지 검색docker search <키워드>Hub에서 이미지 검색1

7. 시스템 관리

불필요 리소스 정리·정보 조회·데몬 제어를 통해 환경을 최적화한다.

기능명령어설명
시스템 정보docker system info총 컨테이너·이미지·볼륨 현황1
리소스 정리docker system prune중지 컨테이너·미사용 네트워크·단일 이미지 삭제1
데몬 시작sudo systemctl start dockerDocker 서비스 시작1
데몬 상태sudo systemctl status docker서비스 상태 확인1
데몬 재시작sudo systemctl restart docker설정 변경 후 재시작1

8. Docker Compose

다중 컨테이너 애플리케이션 정의·실행 자동화를 지원한다.

기능명령어설명
서비스 시작docker-compose updocker-compose.yml 기반 서비스 실행1
백그라운드 실행docker-compose up -d데몬 모드로 실행1
서비스 중지docker-compose down모든 서비스 종료·네트워크 삭제1
서비스 목록docker-compose ps현재 실행 서비스 표시1

9. 고급 사용법 및 팁

  • 환경 변수: DOCKER_API_VERSION, DOCKER_HOST 등을 설정해 CLI 동작 커스터마이징 가능.
  • 멀티 스테이지 빌드: 이미지 크기 최적화를 위해 여러 빌드 스테이지 활용.
  • 헬스체크: HEALTHCHECK으로 컨테이너 상태 자동 감시.
  • 플러그인: docker plugin 명령으로 확장 기능 설치·관리.

핸드북 활용법: 각 장별로 예제, 주요 옵션, 베스트 프랙티스를 익혀, 상황에 맞는 명령어 조합으로 운영 자동화·효율성을 극대화할 수 있다.

Footnotes

  1. https://www.grootan.com/blogs/docker-cli-commands-handbook-a-reference-cheatsheet/ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38