Docker
如何獲得正確的設備來限制 docker 容器的塊 IO?
(我在stackoverflow上發布了這個問題,但如果有必要,這裡可能是更合適的地方——我會刪除另一個問題。)
我需要限制多個 docker 容器的塊 IO 操作速度。
為此,我需要執行以下操作:
docker run -it --device-read-bps /dev/sda:1mb ubuntu
根據文件。我的問題是如何為每個容器獲取正確的設備來設置限制?有什麼可以通過 docker inspect 獲取這些資訊的嗎?
docker inspect my_container | grep DeviceName
什麼都不返回?的輸出
df -h
是:Filesystem Size Used Avail Use% Mounted on devtmpfs 7.9G 0 7.9G 0% /dev tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 7.9G 1.4M 7.9G 1% /run tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/mapper/vg0-data 31G 6.9G 23G 24% / tmpfs 7.9G 0 7.9G 0% /tmp /dev/sda3 283M 27M 238M 11% /boot /dev/sda2 10M 2.2M 7.9M 22% /boot/efi /dev/sdb1 63G 198M 60G 1% /mnt/data overlay 31G 6.9G 23G 24% /var/lib/docker/overlay2/0c917cf591efb40f75a450b6ad93bf9cf06c91f7f625e1f073887031d152f444/merged shm 64M 0 64M 0% /var/lib/docker/containers/b21b4b5d27bd57f04204d3a54f11930a532bdc8c56cabfe903f34b955f3c81f1/mounts/shm overlay 31G 6.9G 23G 24% /var/lib/docker/overlay2/8b198c4829d4eb13c21e7c9d1be99aa00986d64f13f50a454abc539aed37e759/merged shm 64M 0 64M 0% /var/lib/docker/containers/1667192b0b8026eb517894fdf72f71c6aca5a0ff78648447c12175c96b76990c/mounts/shm overlay 31G 6.9G 23G 24% /var/lib/docker/overlay2/72efa8bcdec2c529ca3ebde224f8d14e22780636c614fe45a0228eb957a99351/merged shm 64M 0 64M 0% /var/lib/docker/containers/a7123dfebcc42a675b6ccb0435df1cc24bcd0a39847fb4cb5a3fdcaf2d38089f/mounts/shm overlay 31G 6.9G 23G 24% /var/lib/docker/overlay2/65ede56c537f5de766f616f13df90aae46f287b9e28703496f90af9f74f4c463/merged shm 64M 0 64M 0% /var/lib/docker/containers/6a24ef7116078d48fde87fc47a8efd194ef541ffb7d85ae4bec34e5086e46d4b/mounts/shm overlay 31G 6.9G 23G 24% /var/lib/docker/overlay2/2b444d99740719500285bd94eb389815e631cd183cf3637e64fa40999ccf2530/merged shm 64M 0 64M 0% /var/lib/docker/containers/8c7300dcd9981878ce46f4b805d65b72bf3afbf87d9510312ba5110b95ae8cf4/mounts/shm overlay 31G 6.9G 23G 24% /var/lib/docker/overlay2/9ea1ad005bcbcdb0e52d6f2b05568268e3a6e318f8d30986e0fac56523408e89/merged shm 64M 0 64M 0% /var/lib/docker/containers/5eb12be6805976d230f5ec17bda65100745bebeccea4ab7c2bcf2260405ecb96/mounts/shm
我遇到了很多執行緒問這個問題,像這樣,但沒有給出確定的答案
Docker 沒有指定謹慎獲取用於讀/寫操作的塊設備的方法。
成功的解決方法:
- 獲取作業系統的所有塊設備(作業系統相關命令)。
- 限制所有設備。未觀察到副作用。