Docker 限制容器对内存的使用详解
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机。对于容器,Do
千家信息网最后更新 2026年11月01日Docker 限制容器对内存的使用详解
一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机。对于容器,Docker 也提供了类似的机制避免某个容器因占用太多资源而影响其他容器乃至整个 host 的性能。
内存限额
与操作系统类似,容器可使用的内存包括两部分:物理内存和 swap。 Docker 通过下面两组参数来控制容器内存的使用量。
1、 -m或--memory:设置内存的使用限额,例如 100M, 2G。
2、 --memory-swap:设置内存+swap的使用限额。
当我们执行如下命令:
docker run -m 200M --memory-swap=300M ubuntu
其含义是允许该容器最多使用 200M 的内存和 100M 的 swap。默认情况下,上面两组参数为 -1,即对容器内存和 swap 的使用没有限制。
下面我们将使用 progrium/stress 镜像来学习如何为容器分配内存。该镜像可用于对容器执行压力测试。执行如下命令:
docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 280M
--vm 1:启动 1 个内存工作线程。
--vm-bytes 280M:每个线程分配 280M 内存。
运行结果如下:

因为 280M 在可分配的范围(300M)内,所以工作线程能够正常工作,其过程是:
- 分配 280M 内存。
- 释放 280M 内存。
- 再分配 280M 内存。
- 再释放 280M 内存。
- 一直循环......
如果让工作线程分配的内存超过 300M,结果如下:
分配的内存超过限额,stress 线程报错,容器退出。
如果在启动容器时只指定-m而不指定--memory-swap,那么--memory-swap默认为-m的两倍,比如:
docker run -it -m 200M ubuntu
容器最多使用 200M 物理内存和 200M swap。
内存限额就讨论到这里,希望对大家的学习有所帮助,也希望大家多多支持。
内存
容器
分配
线程
工作
资源
参数
命令
物理
结果
镜像
学习
控制
运行
限制
操作系统
使用量
压力
含义
性能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
云信互联网科技有限公司
科技股互联网
关于新基建和互联网科技
互联网金融 科技
易互联网科技有限公司
万易互联网科技有限公司
碳银互联网科技
浩特互联网科技
凡科互联网科技
宜安科技 互联网金融
天津摩尔互联网科技
沃里互联网科技
互联网金融 科技创新
上海卓越科技 互联网
字节跳动和互联网科技
浙江互联网科技研学营
广州燕处互联网科技有限公司
信承诺互联网科技有限公司
银川新华互联网科技学校原画
南京欣网互联网络科技
互联网科技公司简介
科技互联网龙头
互联网扶贫科技
科技互联网创业计划书
科技类的互联网平台
欧洲十大科技互联网公司
汽车互联网创新科技园
翼展科技 首家互联网医院
山东有哪些互联网科技公司