docker资源配额需在docker run时显式设置:cpu用--cpus(硬限制)或--cpu-shares(相对权重);内存必须设--memory,配合--memory-swap控制swap启用与否;其他如--blkio-weight、--pids-limit等按需配置。
docker engine 本身不直接配置资源配额,资源隔离和配额是在运行容器时通过 docker run 命令参数设定的。engine 作为运行时服务,只提供调用内核 cgroups 和 namespace 的能力;真正生效的资源限制,必须在启动容器时显式声明。
CPU 资源配额怎么设
有两种常用方式,适用于不同场景:
- --cpus=1.5:最直观,表示容器最多使用 1.5 个逻辑 CPU 核心(支持小数)。适合对计算能力有明确上限要求的服务,比如 Web API 或定时任务。
- --cpu-shares=512:设置相对权重,默认是 1024。当多个容器争抢 CPU 时起作用,比如两个容器分别设为 1024 和 512,前者大概率获得两倍于后者的 CPU 时间——但不设硬上限,资源空闲时仍可跑满。
内存限制必须带 --memory
内存没有默认限制,不加参数就可能耗尽宿主机内存。关键点:
MiniMax 图片理解 + 网络搜索 MCP 工具。适配 Docker 环境(极空间等),支持图片 OCR 识别、图像内容理解、网络搜索。API Key 安全存储在本地 credentials 文件,不暴露在代码中。
- 用 --memory=512m 或 -m 2g 设定最大可用内存,超限容器会被 OOM Killer 杀掉。
- 配合 --memory-swap=512m 控制是否启用 swap:设成和 memory 相同值,表示禁用 swap;设为更大值(如
--memory=512m --memory-swap=1g),允许最多 512MB 内存 + 512MB swap。
其他资源类型也靠启动参数控制
不是所有资源都像 CPU 和内存那样常用,但必要时可补充:
- --blkio-weight=300:调节块设备 I/O 优先级(范围 10–1000,默认 500),影响磁盘读写调度顺序。
- --pids-limit=100:限制容器内最大进程数,防止单个容器 fork 爆炸。
- --ulimit nofile=1024:2048:设置文件描述符软硬限制,避免“too many open files”错误。
GPU 资源需要额外组件支持
Docker 默认不识别 GPU。要隔离使用,需提前安装 NVIDIA Container Toolkit,并在运行时指定:
- --gpus all:分配全部可用 GPU
- --gpus '"device=0,1"':只分配第 0 和第 1 号 GPU
- 容器内可直接调用
nvidia-smi或 CUDA 接口,显存和计算单元自动隔离。










