Docker docker container stop 명령어 완전 정복: 예제와 함께 알아보기
도커(Docker)를 사용하다 보면, 실행 중인 컨테이너를 안전하게 종료해야 할 일이 종종 발생합니다. 이때 사용하는 명령어가 바로 docker container stop입니다. 이번 글에서는 이 명령어의 기본 개념부터 사용 방법, 옵션, 실무에서 자주 쓰이는 예제까지 자세히 알아보겠습니다.

🧠 docker container stop이란?
docker container stop 명령어는 실행 중인 컨테이너를 종료(stop) 시키는 데 사용됩니다. 단순히 컨테이너를 "죽인다(kill)"는 개념보다는, 시그널(SIGTERM)을 보내서 안전하게 종료시키는 역할을 합니다.
docker container stop [OPTIONS] CONTAINER [CONTAINER...]
- CONTAINER: 종료할 컨테이너의 이름 또는 ID입니다.
- 여러 개의 컨테이너도 동시에 지정하여 중지할 수 있습니다.
⏱ 옵션 설명
옵션 설명
-t, --time | 종료 전 컨테이너에 SIGTERM을 보낸 후, SIGKILL까지 기다릴 시간을 초 단위로 지정합니다. 기본값은 10초입니다. |
예를 들어, 컨테이너가 SIGTERM 신호를 받고 종료 준비를 할 시간을 20초로 늘리고 싶다면 다음과 같이 명령어를 입력합니다.
docker container stop -t 20 my_container
🔧 기본 사용 예제
1. 컨테이너 1개 중지하기
docker container stop web_app
web_app이라는 이름의 컨테이너를 종료합니다. 이 명령은 SIGTERM → SIGKILL 순서로 신호를 보내며, 기본적으로 10초 동안 종료를 기다립니다.
2. 컨테이너 여러 개 중지하기
docker container stop web_app db redis
3개의 컨테이너를 동시에 중지합니다. 각각의 컨테이너에 SIGTERM이 전송되며, 순차적으로 종료됩니다.
3. docker ps와 함께 사용하기
현재 실행 중인 모든 컨테이너를 중지하려면 다음과 같이 활용할 수 있습니다:
docker stop $(docker ps -q)
- docker ps -q: 실행 중인 컨테이너 ID만 출력
- docker stop: 해당 ID들에 대해 stop 명령을 수행
이 명령어는 현재 실행 중인 모든 컨테이너를 한 번에 중지시킬 때 매우 유용합니다.
⚠️ stop vs kill의 차이
명령어 설명 신호
docker stop | 안전하게 컨테이너를 종료 (종료 준비 시간 줌) | SIGTERM → SIGKILL |
docker kill | 즉시 종료 (강제 종료) | SIGKILL |
- stop은 정상 종료를 유도하므로, 파일 저장 또는 세션 정리 등의 작업을 수행할 시간이 있습니다.
- 반면, kill은 컨테이너를 강제로 종료하므로 데이터 손실 우려가 있으니 주의하세요.
💡 실전 팁: 자동 종료 스크립트 작성
개발 환경에서 매일 컨테이너를 자동으로 종료해야 한다면 Bash 스크립트를 활용할 수 있습니다.
#!/bin/bash
echo "모든 컨테이너 중지 중..."
docker stop $(docker ps -q)
echo "완료!"
위 스크립트를 stop_all.sh로 저장한 뒤 실행 권한을 주고 사용할 수 있습니다:
chmod +x stop_all.sh
./stop_all.sh
✅ 정리
- docker container stop은 컨테이너를 안전하게 종료하는 데 사용합니다.
- SIGTERM을 먼저 보내고, 지정한 시간이 지나도 종료되지 않으면 SIGKILL로 강제 종료됩니다.
- -t 옵션으로 종료 대기 시간을 조절할 수 있습니다.
- docker ps -q와 함께 쓰면 여러 컨테이너를 한 번에 종료할 수 있습니다.
- 데이터 손실 없이 종료하고 싶다면 stop, 긴급한 상황이라면 kill을 사용하세요.
'Program' 카테고리의 다른 글
docker container unpause 명령어 완벽 가이드 – 일시 정지된 컨테이너 다시 실행하기 (0) | 2025.06.11 |
---|---|
docker container top 명령어 완전 정복 – 컨테이너 내부 프로세스 확인하기 (0) | 2025.06.11 |
Docker docker container start : 내가 만든 컨테이너를 시작! (6) | 2025.06.06 |
Docker run : 내가 만든 Docker 이미지를 실행하는 방법 (0) | 2025.06.06 |
Docker docker container rm : 안쓰는건 지우자~ 깨끗하게~ (0) | 2025.06.06 |