默认创建的容器使用宿主机的所有资源,这样会因为某些容器资源要求过大,导致其他容器异常,所以需要进行容器的资源限制。主要对内存和cpu限制
菜单
1、-m 容器可以使用最大内存量
shell>docker run -d -m="512m" --name nginx3 -h web2 --restart=always nginx
2、–memory-swap允许交换到磁盘的内存量
shell>docker run -d -m=”200m” –memory-swap=”205m” –name nginx3 -h web2 –restart=always nginx
使用了swap会使磁盘变慢 。注意: memory-swap设置的值必须比-m大
3、-memory-swappiness=<0-100>容器使用SWAP分区交换的百分比(0-100,默认是-1)
-1即不使用。使用了swap会使磁盘变慢
4、-oom-kill-disable 禁用OOM Killer
linux当出现内容溢出时,会找到最大使用内容的应用给kill。可以通过禁用oom-kill使其不执行
shell>docker run -d -m=”200m” –memory-swap=”205m” –name nginx3 -h web2 –oom-kill-disable –restart=always nginx
5、–cpus可以使用的CUP数量
---最多使用1.5个核
shell>docker run -d --name nginx4 --cpus="1.5" nginx
---最多使用50%的cpu
shell>docker run -d --name nginx4 --cpus=".5" nginx
6、-cpuset-cpus 限制容器使用特定的Cpu核心,如(0-3,0,1)
8、 update 资源扩容
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b962ae1d6a5 nginx "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:8888->80/tcp, :::8888->80/tcp nginx2
[root@docker ~]# docker update --cpus=".5" 1b962ae1d6a5
下面开始讲解关于容器的相关命令