docker资源限制参数包括:--memory/-m设内存上限,--memory-swap设内存+swap总量,--cpus设cpu核心数,--cpuset-cpus绑定特定cpu核,--pids-limit限进程数,--ulimit设用户级限制,--cpu-shares调cpu权重,--blkio-weight控io权重。

直接运行 docker run --help,然后用 grep 筛选资源相关参数,是最快速的方式。
查看所有资源限制参数(推荐)
在终端中执行:
docker run --help | grep -E "(memory|mem|cpu|cpus|pids|blkio|ulimit|oom)"
这样能一次性列出内存、CPU、进程数、IO、系统限制等关键选项。常见参数包括:
-
--memory / -m:设置内存上限(如
512m、2g) -
--memory-swap:内存 + swap 总量(设为
-1表示不限 swap) -
--cpus:指定 CPU 核心数(如
1.5) -
--cpuset-cpus:绑定容器到特定 CPU 核(如
0-1或0,2) -
--pids-limit:限制最大进程数(如
100) -
--ulimit:设置用户级限制(如
nofile=1024:2048)
查阅官方文档中的完整说明
运行 docker run --help 只显示简要描述。如需详细语义、单位规则和注意事项,访问:
https://www.php.cn/link/1bfa3e3d77bcbda9de9d8310018edd4d
该页面按类别组织,涵盖:
- 内存限制的硬限/软限(
--memory-reservation)、OOM 优先级(--oom-score-adj) - CPU 的 shares、quota/period 控制(
--cpu-shares、--cpu-quota) - Blkio 权重与读写速率限制(
--blkio-weight、--device-read-bps)
查看正在运行容器的实际限制值
对已启动的容器,可用 docker inspect 查看生效配置:
docker inspect 容器名或ID | jq '.[0].HostConfig.Memory,.[0].HostConfig.CpuCount,.[0].HostConfig.PidsLimit'
若未安装 jq,可改用:
docker inspect 容器名或ID | grep -i -A 5 "memory\|cpu\|pids"
注意:返回的是原始配置值(如内存以字节为单位),需自行换算(如 536870912 = 512MB)。
补充提示
部分参数仅在特定运行时(如 runc)或内核版本下生效;启用资源限制前,请确认宿主机已开启对应 cgroup 子系统(尤其是 memory 和 pids)。可通过 cat /proc/cgroups 和 ls /sys/fs/cgroup/ 验证。











