logoRawon_Log
홈블로그소개

Built with Next.js, Bun, Tailwind CSS and Shadcn/UI

Docker

Docker - 컨테이너 애플리케이션 최적화

Rawon
2025년 10월 3일
목차
컨테이너 애플리케이션 최적화

컨테이너 애플리케이션 최적화

컨테이너에서 실행 중인 애플리케이션을 최적화 하는 방법에 대해 알아보겠습니다.

먼저, 모든 애플리케이션은 CPU와 메모리 를 사용합니다.

일반적인 프로세스는 사용량이 별도로 제한되어 있지 않기 때문에 프로세스를 실행시키면 이론상 하드웨어의 모든 리소스를 사용할 수 있게 됩니다.

예를 들어 제가 사용하는 맥과 같이 10core 24g 메모리를 가진 하드웨어에 프로세스를 실행시키면 이 실행 중인 프로세스는 하드웨어의 모든 리소스를 사용할 수 있게 됩니다.

그런데 Docker는 가상화 기술이고 이 컨테이너를 격리된 공간에서 실행하기 때문에 프로세스가 사용 가능한 리소스를 제한할 수 있습니다.

컨테이너의 리소스를 제한하는 방법은 아래와 같습니다.

docker
# 컨테이너가 사용할 최대 CPU코어 수 정의 : docker run --cpus={CPUcore수}
# 컨테이너가 사용할 최대 메모리 정의(b,k,m,g 단위) : docker run --memory={메모리용량}

docker run --cpus=1 --memory=8g
docker run --cpus=0.5 --memory=8g

위와 같이 docker run 명령을 사용할 때, cpus 옵션에 1, memory 옵션에 8g를 입력하면 실행된 컨테이너는 전체 하드웨어의 리소스 중에 1코어의 CPU와 8GB의 메모리를 사용할 수 있게 됩니다.

주의해야할 점은 이렇게 값을 지정한다고 해서 이 컨테이너가 실행중일 때, 항상 1코어와 8GB만큼 공간을 차지하고 있는 것이 아니라 컨테이너가 사용할 수 있는 최대 사용량이 제한되어 있다는 것입니다.

다음으로 컨테이너 리소스의 사용량을 조회하는 명령어는 아래와 같습니다.

docker
# 컨테이너의 리소스 사용량 조회
docker stats (컨테이너명/ID)

# Host OS에서 발생하는 이벤트 로그 조회
docker events

이 링크를 통해 구매하시면 제가 수익을 받을 수 있어요. 🤗

https://inf.run/CigvZ

목차

컨테이너 애플리케이션 최적화