Docker (7) 限制資源
1. 管理容器的資源:
我們可以在 docker run 的時候限制其可用的資源,可以設定的資源包括:
- Memory
- CPU
- Devices
2. Memory:
限制容器的記憶體不超過 256M。
$ sudo docker run \ -it --rm \ --memory 256m \ --name ubuntu1 \ --hostname ubuntu1 \ ubuntu
如果出現下面的訊息,就要修改 /etc/default/grub。
your kernel does not support swap limit capabilities or the cgroup is not mounted
找出 GRUB_CMDLINE_LINUX 改為 "cgroup_enable=memory swapaccount=1"。
$ sudo vim /etc/default/grub GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" $ sudo update-grub $ sudo init 6
3. CPU:
$ sudo docker run \ -it --rm \ --cpu-shares 512 \ --name ubuntu1 \ --hostname ubuntu1 \ ubuntu
$ sudo docker run \ -it --rm \ --cpu-shares 1024 \ --name ubuntu2 \ --hostname ubuntu2 \ ubuntu
--cpu-shares 的值是一個相對數字,ubnutu2 會比 ubuntu1 多一倍的運算時間。
指定容器使用 cpu0。
$ sudo docker run \ -it --rm \ --cpuset-cpus 0 \ ubuntu
--cpuset-cpus 還可以寫成 0,1,2 或是 0-2 來使用多個 CPUs。
4. Devices:
掛載 host 的裝置。
$ sudo docker run \ -it --rm \ --device /dev/video0:/dev/video0 \ ubuntu:latest ls -al /dev
留言
張貼留言