소개
Docker 는 현대 소프트웨어 개발 및 배포에 필수적인 도구가 되었습니다. 이 튜토리얼에서는 시스템에서 실행 중인 모든 Docker 컨테이너를 표시하는 방법을 살펴보며, Docker 환경을 효과적으로 관리하고 모니터링하는 지식을 제공합니다.
Docker 컨테이너 소개
Docker 는 컨테이너화된 환경에서 애플리케이션을 개발, 배포 및 관리하는 인기 있는 오픈소스 플랫폼입니다. 컨테이너는 코드, 런타임, 시스템 도구 및 라이브러리 등 애플리케이션 실행에 필요한 모든 것을 포함하는 경량의 독립 실행형 실행 가능한 소프트웨어 패키지입니다.
Docker 컨테이너란 무엇인가요?
Docker 컨테이너는 코드와 모든 종속성을 패키징하여 한 컴퓨팅 환경에서 다른 환경으로 애플리케이션이 빠르고 안정적으로 실행되도록 하는 표준화된 소프트웨어 단위입니다. 컨테이너는 서로 격리되어 있으며 자체 소프트웨어, 라이브러리 및 구성 파일을 번들링합니다. 컨테이너는 정의된 채널을 통해 서로 통신할 수 있습니다.
Docker 컨테이너의 장점
- 일관성: 컨테이너는 기본 인프라에 관계없이 애플리케이션이 동일한 방식으로 실행되도록 보장합니다.
- 확장성: 컨테이너는 수요 변화에 따라 쉽게 확장 또는 축소할 수 있으므로 애플리케이션 관리 및 배포를 용이하게 합니다.
- 효율성: 컨테이너는 경량이며 호스트 운영 체제를 공유하여 기존 가상 머신에 비해 시스템 리소스를 더 효율적으로 사용합니다.
- 이식성: 컨테이너는 개발자의 머신에서 프로덕션 서버와 같은 다양한 컴퓨팅 환경 간에 쉽게 이동할 수 있습니다.
Docker 아키텍처
Docker 는 Docker 클라이언트가 Docker 데몬과 통신하는 클라이언트 - 서버 아키텍처를 사용합니다. Docker 데몬은 Docker 컨테이너를 구축, 실행 및 배포하는 역할을 합니다. Docker 데몬은 호스트 머신에서 실행되고 Docker 클라이언트는 동일한 머신 또는 원격 머신에서 실행될 수 있습니다.
graph LD
subgraph Docker Architecture
client[Docker Client]
daemon[Docker Daemon]
client -- communicates with --> daemon
daemon -- runs --> containers
end
Docker 시작하기
Docker 를 시작하려면 시스템에 Docker 엔진을 설치해야 합니다. 공식 Docker 웹사이트 (https://www.docker.com/get-started) 에서 Docker 를 다운로드하여 설치할 수 있습니다. 설치 후 Docker 명령줄 인터페이스 (CLI) 를 사용하여 Docker 데몬과 상호 작용하고 컨테이너를 관리할 수 있습니다.
Docker 컨테이너 모두 표시하기
Docker 를 설치하고 실행한 후에는 Docker 컨테이너에 대한 정보를 표시하기 위해 다양한 명령어를 사용할 수 있습니다. 이를 위한 주요 명령어는 docker ps입니다.
실행 중인 모든 컨테이너 목록 보기
실행 중인 모든 Docker 컨테이너의 목록을 표시하려면 다음 명령어를 사용합니다.
docker ps
이 명령어는 각 실행 중인 컨테이너에 대한 정보 (컨테이너 ID, 컨테이너 생성에 사용된 이미지, 컨테이너에서 실행 중인 명령, 컨테이너 생성 시간, 컨테이너 상태, 컨테이너가 연결된 포트 등) 를 표시하는 테이블을 보여줍니다.
모든 컨테이너 목록 보기 (실행 중 및 중지됨)
실행 중인 컨테이너와 중지된 컨테이너 모두의 목록을 보고 싶다면 -a 또는 --all 플래그를 사용할 수 있습니다.
docker ps -a
이 명령어는 중지되거나 종료된 컨테이너를 포함한 모든 컨테이너를 표시합니다.
컨테이너 목록 사용자 지정
컨테이너 목록에 표시되는 정보를 --format 플래그를 사용하여 사용자 지정할 수 있습니다. 예를 들어, 컨테이너 ID 와 이미지 이름만 표시하려면 다음 명령어를 사용할 수 있습니다.
docker ps --format "{{.ID}} {{.Image}}"
이 명령어는 각 컨테이너의 컨테이너 ID 와 이미지 이름만 표시하는 테이블을 출력합니다.
컨테이너 필터링
컨테이너 상태, 이미지 이름 또는 레이블과 같은 다양한 기준에 따라 컨테이너 목록을 필터링할 수도 있습니다. 예를 들어, 현재 실행 중인 컨테이너만 목록에 표시하려면 다음 명령어를 사용할 수 있습니다.
docker ps --filter "status=running"
사용 가능한 필터에 대한 자세한 내용은 Docker 설명서를 참조하십시오.
이러한 명령어를 사용하여 시스템에서 실행 중인 Docker 컨테이너를 쉽게 표시하고 관리할 수 있습니다.
고급 컨테이너 목록 기술
기본 docker ps 명령어는 실행 중인 컨테이너에 대한 풍부한 정보를 제공하지만, Docker 는 컨테이너 목록 및 관리를 위한 더 고급 기술도 제공합니다.
컨테이너 목록 정렬 및 서식 지정
컨테이너 목록은 컨테이너 ID, 이미지 이름 또는 생성 시간과 같은 다양한 기준으로 정렬할 수 있습니다. 예를 들어, 생성 시간 기준으로 내림차순으로 정렬하려면 다음 명령어를 사용할 수 있습니다.
docker ps --sort=created --format "{{.ID}} {{.Image}} {{.CreatedAt}}"
이 명령어는 컨테이너 ID, 이미지 이름 및 생성 시간을 표시하는 테이블을 출력하며, 생성 시간 기준으로 내림차순으로 정렬됩니다.
컨테이너 메타데이터 표시
기본 컨테이너 정보 외에도 레이블, 환경 변수 및 네트워크 정보와 같은 컨테이너 메타데이터를 표시할 수 있습니다. 이렇게 하려면 사용 가능한 템플릿 변수와 함께 --format 플래그를 사용할 수 있습니다. 예를 들어, 컨테이너 ID, 이미지 이름 및 "app"이라는 사용자 지정 레이블의 값을 표시하려면 다음 명령어를 사용할 수 있습니다.
docker ps --format "{{.ID}} {{.Image}} {{.Label \"app\"}}"
컨테이너 목록 파일로 저장
나중에 사용하거나 분석하기 위해 컨테이너 목록의 출력을 저장해야 하는 경우 출력을 파일로 리디렉션할 수 있습니다. 예를 들어, docker ps의 출력을 container_list.txt라는 파일에 저장하려면 다음 명령어를 사용할 수 있습니다.
docker ps --format "{{.ID}} {{.Image}} {{.CreatedAt}}" > container_list.txt
이렇게 하면 현재 디렉터리에 container_list.txt라는 파일이 생성되며, 각 실행 중인 컨테이너의 컨테이너 ID, 이미지 이름 및 생성 시간이 포함됩니다.
타사 도구와의 통합
Docker 의 컨테이너 목록 기능은 타사 도구 및 스크립트와도 통합될 수 있습니다. 예를 들어, docker inspect 명령어를 사용하여 JSON 형식으로 컨테이너에 대한 자세한 정보를 검색할 수 있으며, 이 정보는 다른 도구 또는 스크립트에서 처리할 수 있습니다.
이러한 고급 컨테이너 목록 기술을 숙달함으로써 Docker 환경에 대한 심층적인 통찰력을 얻고 컨테이너 관리 워크플로우를 간소화할 수 있습니다.
요약
이 튜토리얼을 마치면 Docker 컨테이너를 모두 표시하는 방법과 Docker 환경을 관리하고 모니터링하기 위한 고급 기술에 대한 포괄적인 이해를 얻게 됩니다. 이 지식은 Docker 워크플로우를 최적화하고 컨테이너화된 애플리케이션의 원활한 작동을 보장하는 데 도움이 될 것입니다.



