7. 컨ν μ΄λλ₯Ό κ΄λ¦¬ν΄μΌμ§
컨ν μ΄λ 리μμ€ μ ν
νλμ¨μ΄ 리μμ€λ?
- CPU, memory(RAM), disk
- λ컀 νΈμ€νΈλ νλμ¨μ΄ 리μμ€λ₯Ό κ°κ³ μλ€ γγγγγγγγγγ
κΈ°λ³Έμ μΌλ‘ 컨ν μ΄λλ νΈμ€νΈ νλμ¨μ΄ 리μμ€μ μ¬μ© μ νμ λ°μ§ μλλ€.
- λ€μ λ§ν΄, 컨ν μ΄λλ νΈμ€νΈμ μλ λͺ¨λ 리μμ€λ₯Ό μ¬μ©ν μ μλ€.
- κ·Έλ¬λ ν¨μ¨μ μΈ λ¦¬μμ€ μ΄μμ μν΄ λ¦¬μμ€ μ νμ΄ νμνλ€. γγγγγγγγγγ
Docker commandλ₯Ό ν΅ν΄ μ νν μ μλ 리μμ€
- CPU, memory, disk io
-
docker run --help
- μ¬μ© κ°λ₯ν μ΅μ list λμ΄
memory 리μμ€ μ ν
μ£Όμ μ¬μ© μ΅μ
-
--memory, -m
- 컨ν μ΄λκ° μ¬μ©ν λ©λͺ¨λ¦¬ μμ μ§μ (μ΅λκ°)
-
--memory-swap
- 컨ν μ΄λκ° μ¬μ©ν μ€μ λ©λͺ¨λ¦¬ μμμ λν μ€μ
- μ§μ κ° = λ©λͺ¨λ¦¬+μ€μ
- κΈ°λ³Έ κ° λ©λͺ¨λ¦¬μ 2λ°°
-
--memory-reservation
- μμ κ°μΌλ‘ ꡬμ±νλ μ νκ° (μ΅μκ°)
-
--oom-kill-disable
- OOM killerκ° νλ‘μΈμ€ killνμ§ λͺ»νλλ‘ λ³΄νΈ
μ¬μ© μμ
-
docker run -d -m 512m nginx:1.14
- μμ§ μμ€ μΉμλ² μ»¨ν μ΄λ μ€ν
- μ΅λ μ¬μ©ν μ μλ μ 512mb μ©λ μ ν
- μμ§ μμ€ μ»¨ν μ΄λλ μμ μκ² ν μ λ μ©λ μ΄μμ μ¬μ©ν μ μκ³ , κ·Έ μ΄μ μ¬μ© μ kill λμ΄λ²λ¦Ό
-
docker run -d -m 1g --memory-reservation 300m nginx:1.14
- μ΅λλ‘ μ¬μ©ν μ μλ λ©λͺ¨λ¦¬ 1gb
- μ΅μ (μ μ΄λ) 500mb 보μ₯
-
docker run -d -m 200m --memory-swap 300m nginx:1.14
- μ€μμ΄λ, λμ€ν¬λ₯Ό λ©λͺ¨λ¦¬μ²λΌ μ¬μ©νλ κ²
- λ©λͺ¨λ¦¬ μ¬μ©λ 200mb μ ν
- swap size = 300mb = memory + swap
- μ€μ μ swap sizeλ 100mb
-
docker run -d -m 200m --oom-kill-disable nginx:1.14
- oom kill
- 리λ μ€ μ»€λμ΄ κ°κ³ μλ κΈ°λ₯μ€ νλ
- physicalν memory μ©λμ΄ λΆμ‘±νλ©΄ out of memory killerλ₯Ό λμ μμΌ processλ₯Ό kill μν΄
- μ΄ μ΅μ μ μ¬μ©νκ² λλ©΄ νΌμ§μ»¬ λ©λͺ¨λ¦¬κ° λΆμ‘±νκ² λλλΌλ oom killμ λμμν€μ§ μκ² ν¨
- oom kill
CPU 리μμ€ μ ν
μ£Όμ μ¬μ© μ΅μ
-
--cpus
- 컨ν μ΄λκ° μ¬μ©ν (ν λΉν ) CPU core μλ₯Ό μ§μ (μ΅λκ°)
- μ΅λ μ¬μ©ν μ μλ CPU μ¬μ©λ μ ν
-
--cpuset-cpus
- 컨ν μ΄λκ° μ¬μ©ν μ μλ CPUλ μ½μλ₯Ό ν λΉ
- cpu indexλ 0 λΆν°
- (μ°Έκ³ ) 4CPUμ΄λ©΄, 0,1,2,3λ² coreλΌκ³ numberλ₯Ό λΆμ
-
--cpu-share
- 컨ν μ΄λκ° μ¬μ©νλ CPU λΉμ€μ 1024κ°μ κΈ°μ€(κΈ°λ°)μΌλ‘ μ€μ
- (μμ) 2048: κΈ°λ³Έ κ° λ³΄λ€ λλ°° λ§μ CPU μμμ ν λΉ
μ¬μ© μμ
-
docker run -d --cpus=".5" ubuntu:1.14
- 0.5μ½μ΄λ§νΌ μ¬μ© κ°λ₯
- μ΄λ€ κ²μ μ°λμ§λ λͺ¨λ¦
- 4μ½μ΄λΌκ³ κ°μ , κ·Έ μ€μ νλλ₯Ό μ°λλ°, κ·Έ μ€μ μ λ°κΉμ§ μ¬μ©
-
docker run -d --cpu-share 2048 ubuntu:1.14
- λ€λ₯Έ 컨ν μ΄λ λ³΄λ€ νΉλ³ν μ΄ μ»¨ν μ΄λλ CPU 리μμ€λ₯Ό λ λ§μ΄ λ°μμΌλ©΄ μ’κ² μ λ
- μλμ κΈ°μ€μΉ ν λΉ
-
docker run -d -cpuset-cpus 0-3 ubuntu:1.14
- CPU nunber 0λ²λΆν° 3λ²κΉμ§ ν λΉ
Block I/O μ ν (disk)
μ£Όμ μ¬μ© μ΅μ
-
--blkio-weight / --blkio-weight-device
- block i/oμ quota μ€μ ν μ μμΌλ©°, 100~1000κΉμ§ μ ν
- κΈ°λ³Έ κ° 500
- μ’ μ μ cpu shareμ κ΅μ₯ν λΉμ·ν κΈ°λ₯
- μλμ κ°μ€μΉ
- λͺ¨λ 컨ν μ΄λκ° λμλ λ I/O schedulingμ λ°λλ°, μλλ λμΌν I/O scheduleμ λ°μ
- μ΄ μ»¨ν μ΄λλ§ νΉλ³ν λμμν€κ³ μΆμλ
- diceve μ΅μ μ¬μ©μΌλ‘ λλ°μ΄μ€ μ ν κ°λ₯
-
--device-read-bps / --device-write-bps
- νΉμ λλ°μ΄μ€μ λν μ½κΈ°μ μ°κΈ° μμ μ μ΄λΉ μ ν
- μ΄λΉ μΌλ§λ§νΌ biteλ₯Ό read/write ν μ μλμ§ μ ν
-
--device-read-iops / --device-write-iops
- 컨ν μ΄λμ read/wrtie μλ μ ν
- μ΄λΉ quota μ ν
- 0 μ΄μμ μ μλ‘ νκΈ°
- μ΄λΉ λ°μ΄ν° μ μ‘λ = IOPS * λΈλ ν¬κΈ° (λ¨μ λ°μ΄ν° μ©λ)
μ¬μ© μμ
-
docker run -it --rm --blkio-weight 100 ubuntu:latest /bin/bash
- 리μμ€ μ κ² ν λΉ
-
docker run -it --rm --device-write-bps /dev/vda:1mb ubuntu:latest /bin/bash
- vdaμ writeν λλ μ΅λ 1mbλ‘ μ΄λΉ μ μ‘ν μ μλ€
-
docker run -it --rm --device-write-bps /dev/vda:10mb ubuntu:latest /bin/bash
- 10mb
-
docker run -it --rm --device-write-iops /dev/vda:10 ubuntu:lastest /bin/bash
-
docker run -it --rm --device-write-iops /dev/vda:100 ubuntu:latest /bin/bash
리μμ€ λͺ¨λν°λ§
- μ§κΈκΉμ§λ 리μμ€λ₯Ό μ ννλ λ°©λ²μ νμΈ
- μ ν μν¨ λ¦¬μμ€κ° μ λλ‘ ν λΉλμ΄ μ¬μ© μ€μΈμ§ νμΈ νμ
docker monitoring commands
-
docker stats [OPTION] [CONTAINER...]
- μ€ν μ€μΈ 컨ν μ΄λμ λ°νμ ν΅κ³ νμΈ
- λμλκ³ μλ 컨ν μ΄λκ° CPUλ μΌλ§λ§νΌ, λ©λͺ¨λ¦¬λ μΌλ§λ§νΌ, λμ€ν¬ I/Oλ μΌλ§λ§νΌ μΌμΌν€κ³ μλ μ§ μ€μκ°μΌλ‘ ν΅κ³κ°μ 보μ¬μ€
-
docker event
-
docker event -f container=<NAME>
-
docker evnet -f container=<NAME>
- 컨ν μ΄λ κ΄λ ¨λ μ΄λ²€νΈκ° λ°μνκ² λλ©΄, λ³΄κ³ μΆμ μ΄λ²€νΈ μ΄λ¦μ λ£μ΄ μΆλ ₯λ λ©μμ§ νμΈ
-
- cAdvisor
- ꡬκΈμμ λ§λ λ컀 λͺ¨λν°λ§ ν΄
- λ€μν λͺ¨λν°λ§ λ°©λ²μ ν΅ν΄ 리μμ€λ₯Ό μ νν 컨ν μ΄λ 리μμ€ μ¬μ©λμ λͺ¨λν°λ§ ν μ μμ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ γγγγγγγγγγ κ°μ¬ν©λλ€.