import docker
필요한 라이브러리 임포트 (https://docker-py.readthedocs.io/en/stable)
def add_unit(mem: float) -> str:
if mem > 1024**3:
mem = round(mem / 1024**3, 2)
mem = f"{mem}GiB"
elif mem > 1024**2:
mem = round(mem / 1024**2, 2)
mem = f"{mem}MiB"
elif mem > 1024:
mem = round(mem / 1024, 2)
mem = f"{mem}KiB"
else:
mem = round(mem, 2)
mem = f"{mem}Byte"
return mem
데이터 단위를 붙여주기 위한 함수
client = docker.DockerClient(base_url='unix://var/run/docker.sock')
for container in client.containers.list():
container_name = container.name
is_running = container.attrs["State"]["Running"]
memory_stats = container.stats(stream=False)["memory_stats"]
now_mem = add_unit(memory_stats["usage"])
peak_mem = add_unit(memory_stats["max_usage"])
mem_limit = add_unit(memory_stats["limit"])
print(
f"Name: {container_name}\nRunning: {is_running}\n"
f"Memory(now): {now_mem} / {mem_limit}\nMemory(peak): {peak_mem} / {mem_limit}\n"
)
'파이썬' 카테고리의 다른 글
[파이썬] GPU 정보 출력 (0) | 2023.04.05 |
---|---|
[파이썬] Selenium과 Threading을 이용하여 구글 이미지 크롤링 (8) | 2021.05.26 |
[파이썬] 멀티 쓰레드 정리 (0) | 2021.03.31 |
[파이썬] doc2vec 모델 학습, 저장 및 불러오기 (0) | 2020.11.24 |
[파이썬] OpenCV, Pandas를 이용하여 LATCH 정보 출력 (2) | 2020.09.12 |