首页/云/Docker 容器速查/docker update 动态调整资源限制
资源与安全50 条

docker update 动态调整资源限制

不重建容器调整部分资源限制:CPU、内存、PID 上限等可在运行中更新,适合应急收紧或放宽,但要评估应用是否感知不到。

Docker 容器速查云更新于 2026-10-13

命令是干什么的

docker update 用于在不重建容器的前提下调整部分运行时参数,主要是资源类限制:CPU 配额、内存上限、进程数上限等。它适合应急收紧或放宽,也可以给一批存量容器统一补上限制。需要注意的是它只覆盖运行期可变的字段,端口、挂载、网络这类创建期属性仍然只能通过重建容器来变更。

基本信息

用途在线调整资源类参数
语法docker update [--cpus] [--memory] [--pids-limit] 容器…
支持范围资源限制与重启策略等可变字段
不支持镜像、端口、挂载、网络等创建期属性
适用平台较新版本的 Docker Engine

典型使用场景

  • 应急收紧某个占用过高的容器
  • 给历史遗留容器统一补上内存与 CPU 限制
  • 压测期间临时放宽限制观察表现
  • 调整重启策略以减少异常重启带来的影响
  • 变更前记录现值,便于快速回退

调整与核对

调整与核对
docker inspect -f '{{.HostConfig.Memory}} {{.HostConfig.NanoCpus}}' api   # 记录现值
docker update --cpus=2 --memory=1g api                                     # 调整限制
docker update --pids-limit=512 api                                         # 调整进程数上限
docker inspect -f '{{.HostConfig.Memory}}' api                             # 确认已生效
docker stats --no-stream api                                                # 观察调整后的实际用量

参数支持情况

参数含义可否在线调整
--cpusCPU 配额支持
--memory内存上限支持
--pids-limit进程数上限支持
--restart重启策略支持
端口与挂载映射创建期属性不支持,需重建容器
内存上限调小不会立刻杀死进程,通常要在后续内存分配时才逐步生效,判断是否达到效果需要结合监控指标观察一段时间。
每次变更前记录当前取值,出现异常时可以按记录快速回退到原来的配置。

变更注意事项

  • 先记录现值,再执行调整,最后用检查命令复核实际生效值
  • 一次只调整一类参数,出问题时能快速定位原因
  • 调整内存上限后观察一段时间,确认应用在限额内稳定运行
  • 把资源限制同步写进编排文件,避免下次重建容器后参数丢失

易错点

  • 以为调小内存上限会立即生效:生效时机与内存分配行为有关,观察窗口要放长
  • 用该命令修改端口或挂载:这些字段不支持在线调整,只能重建容器
  • 批量调整不做逐个确认:同时修改大量容器后,很难定位是哪一个变更引起异常
  • 调整后不核对实际值:命令执行成功不代表参数已按预期写入,需要用检查命令复核

数据来源与参考

  • Docker 官方 CLI 参考:docker update(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌