container-lifecycle-manager
레포지토리 정보
이름: container-lifecycle-manager
주요 목적: Docker와 containerd 런타임의 컨테이너 정보를 모으고, cgroup과 namespace 변화를 함께 보는 CLI 도구입니다.
주요 기술 스택
- Python
- Docker SDK
- pyinotify
- Linux namespaces
- cgroups
아키텍처
src/main.py는list/info/quit를 받는 인터랙티브 CLI입니다.ContainerLifecycleManager는 시작 시 컨테이너 정보를 읽고 cgroup 감시를 켠 뒤 런타임 이벤트를 반영합니다.monitor_runtime_events()는 실제로docker.from_env().events()를 순회합니다.container_info_collector.py는 Docker와 containerd 런타임을 탐지하지만,get_containerd_info()는 아직 TODO 상태로{}를 반환합니다.docker_runtime.py는 cgroup과 namespace 정보를 Docker API와/proc에서 읽습니다.cgroup_monitor.py는pyinotify로/sys/fs/cgroup을 감시하지만, 생성/삭제 처리 로직은 TODO 코멘트만 남아 있습니다.- README 기준으로 실행에는 root 권한이 필요합니다.
주요 파일
src/main.pysrc/container_lifecycle_manager.pysrc/runtimes/base.pysrc/runtimes/containerd_runtime.pysrc/runtimes/docker_runtime.pysrc/utils/cgroup_monitor.pysrc/utils/container_info_collector.py
포트폴리오 메모
- Docker 런타임에 대해서는 실제로 동작하는 정보 수집과 이벤트 감시가 들어 있습니다.
- containerd 경로는 추상화는 있으나 구현이 아직 미완성입니다.
- cgroup 감시와 namespace 수집을 함께 다루는 시스템 도구 성격이 분명합니다.