[[Docker]]는 개발자라면 누구나 한 번쯤은 접하게 되는 도구입니다. 하지만 특성상 매일같이 사용하는 경우가 아니라면, 시간이 지나 다시 사용하려 할 때 명령어들이 가물가물해지기 쉽습니다. 그리고 항상 쓰는 것만 쓰다보니 자주 쓰는 몇 개 이외에는 잊어버리기 쉽습니다.
저 역시 그럴 때마다 공식 문서를 찾아보거나 검색을 하게 되는데, 매번 반복되는 이 과정을 조금 더 줄이고자 **자주 사용하는 Docker 명령어들을 간단하고 명료하게 정리한 치트시트**를 만들어두었습니다.
필요할 때 언제든 꺼내볼 수 있도록, 핵심만 쏙쏙 담았습니다. 😊
***

## 1\. 이미지 관련 명령어
| 명령어 | 설명 |
| --- | --- |
| `docker build -t <이름>:<태그> .` | 현재 디렉토리에서 Dockerfile을 기반으로 이미지 생성 |
| `docker images` | 로컬에 있는 이미지 목록 조회 |
| `docker rmi <이미지ID>` | 이미지 삭제 |
| `docker pull <이미지>` | 원격 레포에서 이미지 가져오기 |
| `docker push <이미지>` | 이미지 레포에 푸시하기 (로그인 필요) |
## 2\. 컨테이너 관련 명령어
| 명령어 | 설명 |
| --- | --- |
| `docker run -d --name <이름> -p 8000:8000 <이미지>` | 백그라운드에서 컨테이너 실행 |
| `docker ps` | 현재 실행 중인 컨테이너 목록 |
| `docker ps -a` | 종료된 컨테이너 포함 전체 목록 |
| `docker exec -it <컨테이너명> /bin/bash` | 실행 중인 컨테이너 안으로 들어가기 |
| `docker logs -f <컨테이너명>` | 실시간 로그 보기 |
| `docker stop <컨테이너명>` | 컨테이너 중지 |
| `docker rm <컨테이너명>` | 중지된 컨테이너 삭제 |
| `docker restart <컨테이너명>` | 컨테이너 재시작 |
## 3\. 볼륨과 네트워크
| 명령어 | 설명 |
| --- | --- |
| `docker volume ls` | 볼륨 목록 |
| `docker volume prune` | 안 쓰는 볼륨 정리 |
| `docker network ls` | 네트워크 목록 |
| `docker network inspect <네트워크명>` | 네트워크 세부 정보 보기 |
## 4\. Docker Compose
| 명령어 | 설명 |
| --- | --- |
| `docker-compose up -d` | 백그라운드로 서비스 실행 |
| `docker-compose down` | 모든 서비스 중지 및 제거 |
| `docker-compose ps` | 실행 중인 서비스 목록 |
| `docker-compose logs -f` | 실시간 로그 확인 |
| `docker-compose restart <서비스명>` | 서비스 재시작 |
## 5\. Docker Swarm
| 명령어 | 설명 |
| --- | --- |
| `docker swarm init` | 스웜 모드 초기화 |
| `docker stack deploy -c docker-compose.yml <스택이름>` | 스택 배포 |
| `docker stack rm <스택이름>` | 스택 중지 및 제거 |
| `docker service ls` | 서비스 목록 |
| `docker service ps <서비스명>` | 서비스 상태 보기 |
| `docker service update --force <서비스명>` | 서비스 재시작 (새 설정 반영) |
## 6\. 기타 유용한 명령어
| 명령어 | 설명 |
| --- | --- |
| `docker system df` | 디스크 사용량 확인 |
| `docker system prune` | 안 쓰는 이미지/컨테이너/볼륨 정리 |
| `docker stats` | 실시간 컨테이너 자원 사용량 확인 |
| `docker inspect <컨테이너명 또는 이미지명>` | 객체 상세 정보 확인 |
| `docker info` | 현재 Docker 환경 정보 |
| `journalctl -u docker.service` | systemd 기반 Docker 서비스의 로그 확인 |
| `sudo systemctl status docker` | Docker 데몬의 상태 확인 |
| `sudo systemctl restart docker` | Docker 데몬 재시작 |
| `sudo less /var/log/syslog` | 시스템 전체 로그에서 Docker 관련 메시지 탐색 가능 (Ubuntu 기준) |
***
많은 개발자님들에게 도움이 되면 좋겠습니다.
도커에 대한 더 많은 정보가 블로그에 많이 준비되어있으니, 우측의 검색창을 이용해서 궁금하신 내용을 키워드로 검색해보세요.