码头工人更新
描述
更新一个或多个容器的配置
用法
$ docker update [OPTIONS] CONTAINER [CONTAINER...]
扩展说明
该docker update
命令动态更新容器配置。您可以使用此命令来防止容器从其Docker主机消耗太多资源。使用单个命令,您可以在单个或多个容器上设置限制。要指定多个容器,请提供以空格分隔的容器名称或ID列表。
除了该--kernel-memory
选项外,您可以在正在运行或已停止的容器上指定这些选项。在低于4.6的内核版本上,您只能--kernel-memory
在已停止运行的容器或已初始化内核内存的运行容器上进行更新。
警告
该
docker update
和docker container update
命令不支持Windows的容器。
有关此命令的示例用法,请参阅下面的示例部分。
选项
名称,简写 | 默认 | 描述 |
--blkio-weight |
块IO(相对权重),介于10到1000之间,或者为0禁用(默认为0) | |
--cpu-period |
限制CPU CFS(完全公平的调度程序)期限 | |
--cpu-quota |
限制CPU CFS(完全公平的调度程序)配额 | |
--cpu-rt-period |
API 1.25+ 将CPU实时时间限制为微秒 |
|
--cpu-rt-runtime |
API 1.25+ 限制CPU实时运行时间(以微秒为单位) |
|
--cpu-shares , -c |
CPU份额(相对重量) | |
--cpus |
API 1.29+ CPU数量 |
|
--cpuset-cpus |
允许执行的CPU(0-3,0,1) | |
--cpuset-mems |
允许执行的MEM(0-3,0,1) | |
--kernel-memory |
内核内存限制 | |
--memory , -m |
内存限制 | |
--memory-reservation |
内存软限制 | |
--memory-swap |
交换限制等于内存加交换:“-1”以启用无限交换 | |
--pids-limit |
API 1.40+ Tune容器pids限制(设置-1表示无限制) |
|
--restart |
容器退出时重新启动策略以应用 |
例子
以下各节说明了使用此命令的方法。
更新容器的cpu份额
要将容器的cpu份额限制为512,请首先标识容器名称或ID。您可以docker ps
用来查找这些值。您也可以使用从docker run
命令返回的ID 。然后,执行以下操作:
$ docker update --cpu-shares 512 abebf7571666
使用cpu共享和内存更新容器
要为多个容器更新多个资源配置:
$ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse
更新容器的内核内存约束
您可以使用该--kernel-memory
选项更新容器的内核内存限制。在4.6之前的内核版本上,仅当容器以开头时,才可以在运行中的容器上更新此选项--kernel-memory
。如果容器是在没有 启动的情况下启动的,则--kernel-memory
您无需在更新内核内存之前先停止容器。
笔记
--kernel-memory
自Docker 20.10起,该选项已被弃用。
例如,如果您使用以下命令启动了一个容器:
$ docker run -dit --name test --kernel-memory 50M ubuntu bash
您可以在容器运行时更新内核内存:
$ docker update --kernel-memory 80M test
如果启动了未初始化内核内存的容器:
$ docker run -dit --name test2 --memory 300M ubuntu bash
更新正在运行的容器的内核内存test2
将失败。您需要先停止容器,然后再更新--kernel-memory
设置。下次启动它时,容器将使用新值。
高于(包含)4.6的内核版本没有此限制,您可以使用--kernel-memory
与其他选项相同的方式。
更新容器的重启策略
您可以在运行中的容器上更改容器的重新启动策略。docker update
在容器上运行后,新的重新启动策略立即生效。
要更新一个或多个容器的重启策略,请执行以下操作:
$ docker update --restart=on-failure:3 abebf7571666 hopeful_morse
请注意,如果容器以“ --rm”标志启动,则无法为其更新更新策略。该AutoRemove
和RestartPolicy
是容器相互排斥。
上级命令
命令 | 描述 |
---|---|
码头工人 | Docker CLI的基本命令。 |