메모리 제한
docker run --rm -m 100m --memory-swap 100m mystress \\
stress --vm 1 --vm-bytes 95m -t 30s
메모리 할당기 1개로 95mb 점유
- m 100m: 메모리 제한
- -memory-swap 100m: 스왑 사용 안 함
- -vm-bytes: 메모리 점유
CPU 제한
docker run --rm --cpus="0.5" stress \\
stress --cpu 1 -t 30s
- -cpus="0.5": 최대 CPU 사용 비율 제한
CPU share 방식:
docker run -d --cpu-shares=512 ubuntu sleep 300
docker run --rm --cpus="0.3" stress
\\ stress --cpu 2 -t 30s
CPU 2개를 30% 까지 사용 제한
2개이므로 각각 15%까지 사용 제한
swap 제한
docker run --rm -m 100m --memory-swap 200m stress \\
stress --vm 1 --vm-bytes 150m -t 30s
메모리 = 메모리 스왑 => 스왑 0
메모리 스왑 없이 메모리만 => 스왑 무제
블록 I/O 제한
1.컨테이너 쓰기 속도 10mb 구동 후 DISK I/O 발생
docker run -it --rm --device-write-bps=/dev/nvme0n1:10 ubuntu /bin/bash
docker run -it --rm --device-write-iops=/dev/nvme0n1:10 ubuntu bash
(input & output)
dd if=/dev/zero of=file1 bs=10M count=100 (oflag=direct)
dd if=/dev/zero of=output.img bs=1M count=1 (oflag=direct)
fallocate -l 파일 크기
[구버전]
docker run -d \\
--name=cadvisor \\
--volume=/:/rootfs:ro \\
--volume=/var/run:/var/run:ro \\
--volume=/sys:/sys:ro \\
--volume=/var/lib/docker/:/var/lib/docker:ro \\
--publish=8080:8080 \\
--restart=unless-stopped \\
google/cadvisor:latest
[신버전]
docker run \\
--volume=/:/rootfs:ro \\
--volume=/var/run:/var/run:ro \\
--volume=/sys:/sys:ro \\
--volume=/var/lib/docker/:/var/lib/docker:ro \\
--volume=/dev/nvme0n:/dev/nvme0n:ro \\
--publish=8080:8080 \\
--detach=true \\
--name=cadvisor \\
--privileged \\
gcr.io/cadvisor/cadvisor:v0.47.0
cadvisor:$VERSION
🧩 구성 요소별 해석
명령어 파트 설명
docker run | 새 컨테이너를 실행 |
--volume=/:/rootfs:ro | 호스트의 루트 디렉토리(/)를 컨테이너의 /rootfs에 읽기 전용(ro) 으로 마운트 |
--volume=/var/run:/var/run:ro | var/run 디렉토리도 읽기 전용으로 마운트 (소켓 등 포함) |
--volume=/sys:/sys:ro | 시스템 정보 제공하는 /sys 디렉토리 마운트 (CPU, 메모리 등 정보 접근용) |
--volume=/var/lib/docker/:/var/lib/docker:ro | 도커 내부 정보 접근용 (컨테이너, 이미지, 레이어 등 상태 확인 가능) |
--publish=8080:8080 | 호스트의 8080 포트를 컨테이너의 8080 포트에 연결 (웹 브라우저로 접속 가능하게) |
--detach=true | 컨테이너를 백그라운드에서 실행 (터미널 점유 안 함) |
--name=cadvisor | 컨테이너 이름을 cadvisor로 지정 |
gcr.io/cadvisor/cadvisor:v0.47.0 | 사용할 이미지 (구글에서 배포한 cadvisor 최신 버전) |
docker run -itd --rm --name myweb
-m 500m --cpuset-cpus 0-1 ubuntu
'IT 엔지니어 > CLOUD' 카테고리의 다른 글
Docker (1) | 2025.05.15 |
---|---|
Docker image (0) | 2025.05.14 |
Docker -1 (0) | 2025.05.13 |
Docker Network 심화 (0) | 2025.05.12 |
Docker file (0) | 2025.05.11 |