Docker Desktop 如何限制单个开发环境的 CPU 和内存
来源:17golang原创
时间:2026-09-14 17:23:09 459浏览 收藏
Docker Desktop 里的资源限制,先要分清“整个 Docker 后端能用多少”和“某一个容器最多用多少”。本篇处理的是前者:打开 Settings > Resources > Advanced,调整 CPU limit 与 Memory limit,点击 Apply & Restart 后,再到容器的 Stats 面板核对状态。
官方地址:https://docs.docker.com/desktop/settings-and-maintenance/settings/
- CPU limit 和 Memory limit 是 Docker Desktop 后端的总资源上限,不是单个容器的硬上限。
- 修改资源后必须应用并重启,回到 Running 状态再继续工作。
- Containers > Stats 只能核对实际使用;单容器限制要在运行配置中另设。
在 Resources > Advanced 设置 Docker Desktop 的总资源上限
第1步:打开 Docker Desktop Dashboard,点击右上角的 Settings 图标;也可以从系统托盘的 Docker 菜单进入 Settings。左侧选择 Resources,再打开 Advanced。
这里的 CPU limit 表示 Docker Desktop 最多使用的 CPU 数量,Memory limit 表示分给 Docker Linux VM 的内存。先看主机还要运行的 IDE、浏览器和数据库,不要把滑块直接推到主机极限。

第2步:在 CPU limit 处选择适合开发环境的核数,在 Memory limit 处输入或拖动到合适的内存值。Swap 是额外的交换空间配置,不能把它当成等价的物理内存;如果只是本地编译和少量服务,先给主机保留明显余量。
| 设置项 | 它限制什么 | 看到什么才算配置完成 |
|---|---|---|
| CPU limit | Docker Desktop 后端可使用的 CPU 上限 | 字段或滑块显示目标核数 |
| Memory limit | 分配给 Docker Linux VM 的内存 | 字段显示目标内存值 |
| Swap | 可配置的交换空间 | 值与团队约定一致 |
点击 Apply & Restart,确认设置没有回退
第3步:检查两个值后点击 Apply & Restart。Docker Desktop 会重启后端,正在运行的开发容器可能短暂中断;等 Dashboard 回到 Running,再打开 Containers,不要在重启动画期间判断配置是否失效。
如果重启后又回到旧值,先确认是否打开了另一个 Docker Desktop 实例或组织策略覆盖设置。Windows 使用 WSL 2 后端时,部分内存和 CPU 行为还受 WSL utility VM 约束,不能只看一个滑块下结论。
用 Containers > Stats 核对容器实际用量
第4步:进入 Containers,选择一个正在运行的开发容器,打开详情里的 Stats。这里能看到容器当前 CPU、内存等使用情况,用来确认重启后服务确实恢复,以及当前负载是否接近 Docker Desktop 总上限。

要限制单个容器,应在创建或启动它时配置 --cpus、--memory,或在 Compose 服务中写对应的资源字段。Desktop 的 Memory limit 是天花板,单容器限制则是天花板下面的分配规则,两者同时存在时取更严格的一层。
常见问题
调整 Memory limit 会改变镜像大小吗?
不会。它影响 Docker Desktop 后端可用的运行内存,不改变镜像层或磁盘占用。
为什么 Stats 里的容器内存没有等于 Memory limit?
Memory limit 是可用上限,Stats 展示的是当前使用量;容器没有吃满资源时,两者本来就不会相等。
改完 CPU limit 后还要给每个容器设置 CPU 吗?
如果只需要限制 Docker Desktop 总体资源,不必重复设置;要避免某个编译或测试容器独占资源,再额外设置单容器的 --cpus。
最后按“Resources 配置值—Apply & Restart—Running—Containers Stats”这条路径复查一次,就能把资源设置、后端恢复和容器实际用量对应起来。
-
335 收藏
-
380 收藏
-
178 收藏
-
295 收藏
-
306 收藏
-
233 收藏
-
396 收藏
-
440 收藏
-
128 收藏
-
195 收藏
-
241 收藏
-
403 收藏
-
335 收藏
-
244 收藏
-
文章 · 软件教程 | 1天前 | github · 故障排查 · CI/CD · gitHub actions · GitHub Actions 失败任务 Job workflow run 重跑任务162 收藏
-
430 收藏
-
文章 · 软件教程 | 1天前 | 开发环境 · vs code · VS Code Docker Compose Dockerfile devcontainer.json Dev Containers368 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习