실행 중 및 중지된 Docker 컨테이너 목록화 방법

DockerBeginner
지금 연습하기

소개

이 튜토리얼에서는 실행 중인 Docker 컨테이너와 중지된 컨테이너를 나열하는 필수 기술을 살펴봅니다. Docker 환경을 효율적으로 관리하고 모니터링하는 방법을 이해하는 것은 컨테이너 기반 애플리케이션 개발 및 배포에 매우 중요합니다.

Docker 컨테이너 이해

Docker 는 개발자가 일관되고 재현 가능한 방식으로 애플리케이션을 패키징하고 배포할 수 있도록 하는 인기 있는 컨테이너화 플랫폼입니다. 컨테이너는 애플리케이션, 종속성 및 런타임 환경을 캡슐화하는 경량, 독립적, 그리고 자체 포함된 단위입니다. 이는 개발자의 노트북에서부터 프로덕션 서버까지 다양한 환경에서 애플리케이션을 개발, 테스트 및 배포하는 것을 더욱 용이하게 합니다.

Docker 컨테이너란 무엇인가요?

Docker 컨테이너는 애플리케이션을 패키징하고 배포하는 방법입니다. 애플리케이션과 그 종속성을 함께 번들링하여 Docker 가 설치된 모든 시스템에서 쉽게 배포할 수 있도록, 애플리케이션 실행을 위한 표준화되고 격리된 환경을 제공합니다. 컨테이너는 컨테이너의 청사진이나 템플릿과 같은 Docker 이미지에서 생성됩니다.

Docker 컨테이너의 장점

  • 일관성: 컨테이너는 애플리케이션과 그 종속성을 함께 패키징하여 "내 컴퓨터에서는 작동하는데" 문제를 해결합니다.
  • 이식성: 컨테이너는 개발 환경에서 프로덕션 환경까지 다양한 환경 간에 복잡한 구성 변경 없이 쉽게 이동할 수 있습니다.
  • 확장성: 컨테이너는 수요에 따라 애플리케이션에 할당된 리소스를 조정할 수 있도록 쉽게 확장하거나 축소할 수 있습니다.
  • 효율성: 컨테이너는 경량이며 호스트 운영 체제를 공유하여 기존 가상 머신보다 더 효율적입니다.

Docker 아키텍처

Docker 는 Docker 클라이언트가 Docker 데몬 (서버) 과 통신하여 컨테이너를 빌드, 실행 및 관리하는 다양한 작업을 수행하는 클라이언트 - 서버 아키텍처를 사용합니다. Docker 데몬은 호스트 머신에서 실행되며 컨테이너 및 그 수명 주기를 관리하는 역할을 합니다.

graph LD subgraph Docker Architecture client[Docker Client] -- API --> daemon[Docker Daemon] daemon -- Pulls Images --> registry[Docker Registry] daemon -- Manages --> container[Docker Containers] end

Docker 이미지와 컨테이너

Docker 이미지는 컨테이너를 만드는 청사진입니다. 애플리케이션 코드, 종속성 및 애플리케이션 실행에 필요한 구성을 포함합니다. 컨테이너는 Docker 이미지의 실행 인스턴스이며, 애플리케이션 실행을 위한 격리되고 일관된 환경을 제공합니다.

실행 중인 Docker 컨테이너 목록화

Docker 컨테이너를 실행한 후에는 목록화 및 관리가 필요할 수 있습니다. 실행 중인 Docker 컨테이너를 목록화하려면 docker ps 명령어를 사용할 수 있습니다.

실행 중인 컨테이너 목록화

모든 실행 중인 Docker 컨테이너를 목록화하려면 다음 명령어를 사용합니다.

docker ps

이 명령어는 실행 중인 컨테이너에 대한 정보 (컨테이너 ID, 컨테이너 생성에 사용된 이미지, 실행 중인 명령, 컨테이너 생성 시간, 상태, 포트 등) 를 표 형식으로 표시합니다.

docker ps 명령어에 추가 옵션을 추가하여 출력을 사용자 지정할 수도 있습니다. 예를 들어:

docker ps -a

이 명령어는 현재 실행 중이지 않은 컨테이너도 포함하여 모든 컨테이너를 목록화합니다.

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

이 명령어는 컨테이너 ID, 이미지, 상태를 표 형식으로 표시합니다.

실행 중인 컨테이너 필터링

다양한 옵션을 사용하여 실행 중인 컨테이너 목록을 필터링할 수도 있습니다. 예를 들어:

docker ps -f "status=running"

이 명령어는 현재 실행 중인 컨테이너만 목록화합니다.

docker ps -f "name=mycontainer"

이 명령어는 이름이 "mycontainer"인 컨테이너만 목록화합니다.

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "status=running"

이 명령어는 표 형식으로 모든 실행 중인 컨테이너의 컨테이너 ID, 이미지 및 상태를 목록화합니다.

실행 중인 Docker 컨테이너를 목록화하는 방법을 이해하면 Docker 환경의 컨테이너를 쉽게 관리하고 모니터링할 수 있습니다.

중지된 Docker 컨테이너 목록화

실행 중인 컨테이너 목록 외에도 중지되거나 종료된 컨테이너 목록을 확인해야 할 수 있습니다. 이는 문제 해결, 사용되지 않는 컨테이너 정리 또는 중지된 컨테이너 다시 시작에 유용합니다.

중지된 컨테이너 목록화

모든 중지된 Docker 컨테이너를 목록화하려면 다음 명령어를 사용합니다.

docker ps -a -f "status=exited"

이 명령어는 중지된 컨테이너에 대한 정보 (컨테이너 ID, 컨테이너 생성에 사용된 이미지, 실행된 명령, 컨테이너 생성 시간, 상태, 포트 등) 를 표 형식으로 표시합니다.

--format 옵션을 사용하여 출력을 사용자 지정할 수도 있습니다.

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

이 명령어는 컨테이너 ID, 이미지, 상태를 표 형식으로 표시합니다.

중지된 컨테이너 필터링

다양한 옵션을 사용하여 중지된 컨테이너 목록을 필터링할 수도 있습니다. 예를 들어:

docker ps -a -f "status=exited" -f "name=mycontainer"

이 명령어는 이름이 "mycontainer"인 중지된 컨테이너만 목록화합니다.

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "name=mycontainer"

이 명령어는 이름이 "mycontainer"인 모든 중지된 컨테이너의 컨테이너 ID, 이미지, 상태를 표 형식으로 표시합니다.

중지된 Docker 컨테이너를 목록화하는 방법을 이해하면 현재 실행 중이지 않은 컨테이너도 포함하여 Docker 환경의 컨테이너를 쉽게 관리하고 모니터링할 수 있습니다.

요약

이 가이드를 마치면 실행 중인 Docker 컨테이너와 중지된 컨테이너를 모두 목록화하는 방법을 확실히 이해하게 될 것입니다. 이를 통해 Docker 기반 애플리케이션을 더욱 효과적으로 관리하고 문제를 해결할 수 있습니다. 이러한 기술을 숙달하면 Docker 작업 흐름을 간소화하고 컨테이너 시스템의 전체적인 개요를 명확하게 유지하는 데 도움이 될 것입니다.