본문 바로가기
코어-테크 : 트러블 슈팅 노트

Docker 컨테이너는 지금 실행 중일까? 가장 먼저 확인하는 방법

by 크리에이터 독타 (Creator Dokta) 2026. 7. 21.

 

 

※ 이 글은 운영자가 직접 Intel N100 홈서버에서 Debian과 Docker 기반 서비스를 운영하며 서버 상태를 점검하고 기록한 경험을 바탕으로 작성했습니다. 글의 문장 정리와 구성에는 AI 도구의 도움을 약간 받았지만, 최종 내용은 운영자가 직접 검토하고 확인했습니다.

Docker 컨테이너는 지금 실행 중일까? 가장 먼저 확인하는 방법

도입

지난 글에서는 Docker 환경에서 문제가 발생했을 때 서버보다 먼저 컨테이너의 상태를 확인해야 하는 이유를 살펴보았습니다.

이번에는 한 걸음 더 나아가 실제로 컨테이너가 실행 중인지 확인하는 가장 기본적인 방법을 알아보겠습니다.

홈서버를 운영하다 보면 WordPress가 열리지 않거나 Jellyfin에 접속되지 않는 상황을 만날 수 있습니다.

이때 처음부터 서버를 재부팅하거나 설정 파일을 수정하기보다, 먼저 해당 서비스를 담당하는 Docker 컨테이너가 정상적으로 실행되고 있는지 확인하는 것이 좋습니다.

점검은 복잡할수록 좋은 것이 아니라, 가장 기본적인 것부터 차례대로 확인하는 습관이 더 중요합니다.

서비스에 문제가 생기면 먼저 해당 Docker 컨테이너가 실행 중인지 확인합니다.

Debian 기반 Docker 홈서버에서 docker ps와 docker ps -a 명령을 이용해 실행 중인 Docker 컨테이너를 확인하고 서비스 장애를 점검하는 절차를 설명하는 인포그래픽
가장 기본적인 Docker 점검 순서를 정리한 인포그래픽입니다.

※ 다이어그램은 실제 Intel N100 Debian 홈서버의 Docker 컨테이너 점검 흐름을 바탕으로 AI 도구를 활용해 제작하며, 최종 구성과 내용은 운영자가 직접 검수합니다.
출처: 디지털 장난감

본문

① 서비스가 열리지 않는다고 모두 서버 문제는 아니다

홈서버에는 여러 서비스가 함께 실행되는 경우가 많습니다.

WordPress, MariaDB, Jellyfin, n8n처럼 각각의 프로그램은 독립된 Docker 컨테이너에서 동작할 수 있습니다.

따라서 서버 자체는 정상적으로 실행되고 있어도 특정 컨테이너가 종료되면 그 컨테이너가 담당하는 서비스만 영향을 받는 경우가 많습니다.

이럴 때 서버 전체를 의심하기보다 먼저 해당 컨테이너가 실행 중인지 확인하는 것이 가장 빠른 출발점이 됩니다.

서버가 살아 있는지와 Docker 서비스가 실행 중인지는 서로 다른 단계에서 확인해야 합니다.

② 가장 먼저 사용하는 명령은 docker ps다

현재 실행 중인 Docker 컨테이너를 확인할 때 가장 기본적으로 사용하는 명령은 다음과 같습니다.

docker ps

이 명령은 현재 실행 중인 컨테이너만 화면에 보여줍니다.

아직 출력되는 모든 내용을 이해하지 못해도 괜찮습니다.

이번 글에서는 현재 어떤 컨테이너가 실행되고 있는지 확인하는 명령이라는 점만 기억하면 충분합니다.

출력 결과에 표시되는 NAME, STATUS, PORTS, IMAGE 같은 항목은 이번 주 후반 글에서 하나씩 살펴보겠습니다.

③ 실행 중이지 않다면 docker ps -a로 확인한다

실행되어야 할 서비스가 docker ps 목록에 보이지 않는다면 종료된 컨테이너까지 함께 확인해 볼 수 있습니다.

docker ps -a

이 명령은 실행 중인 컨테이너뿐 아니라 종료되었거나 생성만 된 컨테이너까지 포함해 전체 목록을 보여줍니다.

이번 글에서는 두 명령의 역할만 구분하면 충분합니다.

docker ps는 현재 실행 중인 컨테이너를, docker ps -a는 종료된 컨테이너를 포함한 전체 목록을 확인합니다.

Exited, Restarting처럼 상태가 무엇을 의미하는지는 다음 글에서 자세히 살펴보겠습니다.

④ 점검 순서를 단순하게 만들면 원인을 찾기 쉬워진다

서비스가 열리지 않는다고 해서 처음부터 모든 설정을 확인할 필요는 없습니다.

서비스 접속 불가

docker ps 실행

컨테이너가 목록에 있는지 확인

실행 중이면 로그·포트·실제 응답 확인

이처럼 점검 범위를 하나씩 좁혀 가면 원인을 훨씬 차분하게 찾을 수 있습니다.

반대로 처음부터 서버 설정, 방화벽, 공유기, Docker 설정을 모두 확인하려 하면 오히려 어디서부터 문제가 시작되었는지 판단하기 어려워질 수 있습니다.

컨테이너 실행 여부는 문제의 원인을 확정하는 답이 아니라, 다음 점검 방향을 결정하는 첫 번째 기준입니다.

⑤ 목록에 있다고 서비스가 무조건 정상인 것은 아니다

docker ps 목록에 컨테이너가 표시되면 최소한 현재 컨테이너 프로세스가 실행 중이라는 사실은 확인할 수 있습니다.

그러나 컨테이너가 실행 중이라고 해서 내부 애플리케이션까지 반드시 정상적으로 응답한다는 뜻은 아닙니다.

포트 연결이 잘못되었거나 데이터베이스와 연결되지 않았거나 애플리케이션 내부에서 오류가 발생했을 수도 있습니다.

그래서 docker ps 확인 후에는 실제 접속 여부와 로그, 포트를 차례대로 확인해야 합니다.

운영노트

홈서버를 처음 운영할 때는 서비스가 열리지 않으면 서버 전체에 문제가 생긴 것으로 생각하기 쉬웠습니다.

그래서 서버를 재부팅하거나 여러 설정을 동시에 확인하면서 원인을 찾으려 했던 적도 있었습니다.

하지만 운영 경험이 쌓일수록 가장 먼저 확인하는 것은 docker ps가 되었습니다.

컨테이너가 실행되고 있는지만 확인해도 이후 어떤 방향으로 점검을 이어갈지 훨씬 쉽게 결정할 수 있었기 때문입니다.

큰 설정을 바꾸기 전에 작은 확인부터 시작하면 문제의 범위를 더 안전하게 좁힐 수 있습니다.

에디터의 해석노트

이번 글에서 가장 중요한 것은 새로운 명령어를 외우는 일이 아닙니다.

핵심은 서비스 문제를 만났을 때 확인 순서를 만드는 습관입니다.

먼저 실행 여부를 확인하고, 그다음 로그와 포트, 실제 서비스 응답을 확인합니다.

docker ps는 장애 원인을 한 번에 알려주는 명령이 아니라, 점검을 어디에서 시작할지 알려주는 출발점입니다.

이 순서를 반복하면 문제가 발생했을 때 불필요하게 서버 전체를 다시 설정하는 일을 줄일 수 있습니다.

참고 링크 (References)

트러블슈팅

문제 1. docker ps를 실행했는데 아무것도 표시되지 않는다

현재 실행 중인 컨테이너가 없을 가능성이 있습니다.

종료된 컨테이너까지 확인하려면 다음 명령을 실행합니다.

docker ps -a

문제 2. 원하는 서비스가 목록에 보이지 않는다

컨테이너가 종료되었거나 아직 시작되지 않았을 수 있습니다.

docker ps -a로 전체 목록을 확인하고 컨테이너 이름과 상태를 살펴봅니다.

문제 3. permission denied 오류가 나온다

현재 사용자에게 Docker 명령을 실행할 권한이 없을 수 있습니다.

임의로 권한을 변경하기 전에 현재 서버에서 Docker를 어떤 계정과 방식으로 운영하도록 설정했는지 먼저 확인합니다.

문제 4. 컨테이너는 보이는데 서비스가 열리지 않는다

컨테이너 실행 여부만으로 애플리케이션의 정상 상태를 확정할 수는 없습니다.

포트 매핑과 애플리케이션 로그, 데이터베이스 연결, 리버스 프록시 설정, 실제 서비스 응답을 차례대로 확인합니다.

문제 5. 어떤 컨테이너가 해당 서비스인지 모르겠다

컨테이너의 NAME과 IMAGE 항목을 함께 확인합니다.

Docker Compose를 사용한다면 compose 파일에 적힌 서비스 이름과도 비교합니다.

문제 상황 먼저 확인할 방향
docker ps 결과가 비어 있음 docker ps -a로 전체 목록 확인
원하는 서비스가 목록에 없음 종료 또는 미시작 여부 확인
권한 오류 발생 현재 사용자와 Docker 운영 권한 확인
컨테이너는 실행 중이나 접속 불가 포트·로그·실제 응답 확인
서비스와 컨테이너 구분 어려움 NAME·IMAGE·Compose 서비스명 비교

핵심 체크포인트 10

  1. 서비스 접속 문제와 서버 전체 문제는 구분해서 확인한다.
  2. 특정 컨테이너가 종료되면 그 컨테이너가 담당하는 서비스만 영향을 받는 경우가 많다.
  3. docker ps는 현재 실행 중인 컨테이너를 보여준다.
  4. docker ps -a는 종료된 컨테이너를 포함한 전체 목록을 보여준다.
  5. 목록에 원하는 컨테이너가 없다면 종료 또는 미시작 가능성을 확인한다.
  6. 컨테이너 실행 여부는 문제의 원인을 확정하는 것이 아니라 다음 점검 방향을 정하는 기준이다.
  7. 컨테이너가 실행 중이어도 내부 애플리케이션은 정상적으로 응답하지 않을 수 있다.
  8. 실행 여부를 확인한 뒤에는 포트, 로그, 데이터베이스 연결과 실제 응답을 확인한다.
  9. 처음부터 여러 설정을 동시에 바꾸기보다 작은 확인부터 시작한다.
  10. docker ps를 서비스 장애 점검의 첫 번째 습관으로 만든다.

마무리

이번 글에서는 Docker 컨테이너가 현재 실행 중인지 확인하는 가장 기본적인 방법을 살펴보았습니다.

서비스가 열리지 않을 때 처음부터 서버 전체를 재부팅하거나 여러 설정을 동시에 바꾸기보다, 먼저 해당 서비스를 담당하는 컨테이너가 실행 중인지 확인하는 것이 좋습니다.

docker ps로 현재 실행 중인 컨테이너를 확인하고, 원하는 컨테이너가 보이지 않는다면 docker ps -a로 종료된 상태까지 살펴봅니다.

그 결과를 바탕으로 다음 단계에서 로그와 포트, 실제 서비스 응답을 확인하면 점검 범위를 차분하게 좁힐 수 있습니다.

Docker 서비스 점검은 복잡한 명령어보다, 실행 여부를 먼저 확인하는 단순한 순서에서 시작합니다.