Docker Pause 사용법 완벽 가이드! 컨테이너 일시정지 및 재개하기

Docker를 운영하다 보면 실행 중인 컨테이너를 완전히 종료하지 않고 잠시 멈춰야 하는 상황이 있습니다. 예를 들어 서버 점검을 진행하거나 CPU 사용량을 일시적으로 줄이고 싶을 때, 또는 장애 분석을 위해 현재 상태를 그대로 유지해야 하는 경우가 있습니다.

이럴 때 사용하는 명령어가 바로 docker pause입니다.

Docker Pause는 실행 중인 컨테이너의 모든 프로세스를 일시적으로 정지시키는 명령어입니다. 컨테이너를 종료하는 것이 아니라 현재 상태 그대로 멈추기 때문에 다시 실행하면 이전 상태에서 그대로 작업을 이어갈 수 있습니다.

이번 글에서는 Docker Pause의 개념부터 기본 사용법, Docker Stop과의 차이점, 실무 활용 사례, 운영 시 주의사항까지 자세히 알아보겠습니다.

Docker Pause란 무엇인가?

Docker Pause는 실행 중인 컨테이너를 일시적으로 정지시키는 명령어입니다.

컨테이너 내부의 모든 프로세스는 멈추지만 컨테이너 자체는 종료되지 않습니다.

Linux의 Freezer cgroup 기능을 이용하여 프로세스를 일시 정지시키므로 메모리 상태도 그대로 유지됩니다.

필요한 경우 Docker Unpause를 이용하여 다시 실행할 수 있습니다.

Docker Pause는 언제 사용하는가?

다음과 같은 상황에서 많이 사용됩니다.

  • 서버 점검
  • 일시적인 리소스 절약
  • 장애 분석
  • 서비스 테스트
  • 유지보수 작업
  • 컨테이너 상태 보존

운영 환경에서는 서비스 중단 시간을 최소화하기 위한 점검 작업에서도 활용됩니다.

Docker Pause 기본 사용법

기본 명령어는 다음과 같습니다.

docker pause <컨테이너명>

예를 들어 web-server 컨테이너를 일시 정지하려면 다음과 같이 실행합니다.

docker pause web-server

정상적으로 실행되면 다음과 같이 컨테이너 이름이 출력됩니다.

web-server

이후 컨테이너는 Pause 상태가 됩니다.

Pause 상태 확인

현재 컨테이너 상태는 다음 명령으로 확인할 수 있습니다.

docker ps

출력 예시입니다.

CONTAINER ID   IMAGE    STATUS
a72f7c3b82a1   nginx    Up 2 hours (Paused)

상태에 (Paused)가 표시되면 정상적으로 일시 정지된 것입니다.

여러 컨테이너 동시에 Pause

여러 개의 컨테이너를 한 번에 일시 정지할 수도 있습니다.

docker pause web-server api-server redis-server

지정한 모든 컨테이너가 동시에 Pause 상태가 됩니다.

Docker Pause와 Docker Stop의 차이

많은 초보자가 Pause와 Stop을 혼동합니다.

Docker Pause는 현재 실행 상태를 그대로 유지한 채 프로세스만 멈춥니다.

반면 Docker Stop은 컨테이너를 정상 종료시키는 명령어입니다.

Docker PauseDocker Stop
프로세스 일시 정지컨테이너 종료
메모리 상태 유지프로세스 종료
즉시 재개 가능다시 시작 필요
상태 그대로 유지애플리케이션 재실행

운영 중인 서비스를 잠시 멈추려면 Pause가 적합하고, 서비스를 종료하려면 Stop을 사용하는 것이 맞습니다.

Pause 이후 동작

Pause 상태에서는 CPU를 거의 사용하지 않으며 컨테이너 내부 프로세스도 실행되지 않습니다.

하지만 메모리에는 그대로 유지되므로 다시 실행하면 기존 상태를 그대로 이어서 사용할 수 있습니다.

이는 Stop 후 Start를 수행하는 것과 가장 큰 차이점입니다.

Docker Pause 실무 활용 예제

Docker Pause는 운영 중인 컨테이너를 종료하지 않고 잠시 멈춰야 하는 상황에서 매우 유용합니다. 특히 장애 분석이나 서버 유지보수 시 현재 상태를 그대로 보존할 수 있다는 점이 가장 큰 장점입니다.

웹 서버 일시 정지

웹 서버를 잠시 중단해야 하는 경우입니다.

docker pause web-server

컨테이너 내부 프로세스가 모두 일시 정지됩니다.

현재 상태는 다음과 같이 확인할 수 있습니다.

docker ps

출력 예시입니다.

CONTAINER ID   IMAGE   STATUS
2d8b71ab34c9   nginx   Up 3 hours (Paused)

Pause 상태에서는 새로운 요청을 처리하지 않습니다.

여러 서비스 동시에 Pause

점검을 위해 여러 서비스를 동시에 멈출 수도 있습니다.

docker pause nginx api redis

세 개의 컨테이너가 모두 Pause 상태가 됩니다.

CPU 사용량 일시 감소

테스트 서버가 과도한 CPU를 사용하는 경우 잠시 멈출 수 있습니다.

docker pause test-server

Pause 상태에서는 CPU 사용량이 거의 발생하지 않습니다.

상태 보존 후 점검

현재 실행 상태를 유지한 채 점검을 진행할 수도 있습니다.

docker pause database

메모리 상태가 그대로 유지되므로 점검 후에는 기존 작업을 이어서 수행할 수 있습니다.

Linux 서버 문제 해결

운영 서버에서 특정 컨테이너가 비정상적으로 높은 CPU 사용률을 보이고 있었습니다.

먼저 현재 리소스 사용량을 확인했습니다.

docker stats

문제가 되는 컨테이너가 CPU를 거의 100% 사용하고 있었습니다.

긴급하게 서버 부하를 줄이기 위해 컨테이너를 Pause했습니다.

docker pause api-server

이후 CPU 사용률이 즉시 감소했습니다.

다른 서비스는 정상적으로 동작하는 것을 확인한 후 원인을 분석했습니다.

점검이 끝난 뒤에는 Docker Unpause를 사용하여 서비스를 다시 정상 상태로 복구했습니다.

컨테이너를 종료하지 않고 상태를 유지한 채 점검할 수 있었기 때문에 서비스 복구도 매우 빠르게 진행할 수 있었습니다.

Docker Pause 사용 시 주의사항

Docker Pause를 사용할 때는 다음 사항을 알아두는 것이 좋습니다.

첫 번째는 컨테이너가 완전히 멈춘다는 점입니다.

애플리케이션은 요청을 처리하지 않으며 내부 작업도 모두 중단됩니다.

두 번째는 네트워크 연결도 응답하지 않을 수 있습니다.

외부에서는 서비스 장애처럼 보일 수 있으므로 운영 환경에서는 신중하게 사용해야 합니다.

세 번째는 메모리는 계속 사용합니다.

CPU 사용은 거의 없지만 메모리는 해제되지 않습니다.

네 번째는 Pause 상태에서는 Docker Exec를 이용한 작업이 제한될 수 있습니다.

필요한 작업은 Unpause 후 진행하는 것이 좋습니다.

Best Practice

Docker Pause를 사용할 때는 다음과 같은 방법을 추천합니다.

  • 짧은 점검 작업에서만 사용합니다.
  • 장시간 중단이 필요하면 Docker Stop을 고려합니다.
  • 운영 서버에서는 사용자 영향 시간을 최소화합니다.
  • Pause 후 docker ps로 상태를 확인합니다.
  • 리소스 문제 분석 시 Docker Stats와 함께 활용합니다.
  • 점검이 끝나면 즉시 Docker Unpause를 실행합니다.

이러한 방법을 적용하면 서비스를 안전하게 관리할 수 있습니다.

자주 묻는 질문

Docker Pause와 Docker Stop의 가장 큰 차이는 무엇인가요?

Docker Pause는 현재 상태를 유지한 채 프로세스만 멈춥니다.

Docker Stop은 컨테이너를 완전히 종료합니다.

Pause 상태에서도 메모리를 사용하나요?

네.

프로세스는 멈추지만 메모리는 그대로 유지됩니다.

Pause 상태에서 서비스 접속이 가능한가요?

일반적으로 요청을 정상적으로 처리하지 못하므로 서비스 이용이 어렵습니다.

Pause를 해제하려면 어떻게 하나요?

다음 명령을 사용합니다.

docker unpause web-server

컨테이너는 Pause 이전 상태 그대로 다시 실행됩니다.

마무리

Docker Pause는 실행 중인 컨테이너를 종료하지 않고 현재 상태 그대로 일시 정지할 수 있는 유용한 명령어입니다.

메모리 상태를 유지하면서 CPU 사용을 중단할 수 있기 때문에 장애 분석, 서버 점검, 유지보수 작업 등 다양한 운영 환경에서 활용됩니다.

다만 서비스 요청도 함께 중단되므로 운영 환경에서는 영향 범위를 충분히 고려한 후 사용하는 것이 좋습니다.

Docker Pause와 Docker Unpause를 적절히 활용하면 컨테이너를 보다 안전하고 효율적으로 관리할 수 있습니다.

댓글 남기기