©
本文檔使用 php中文網手册 發布
更新一个或多个容器的配置
docker update [OPTIONS] CONTAINER [CONTAINER...]
名字,简写 | 默认 | 描述 |
---|---|---|
-blkio-weight | 0 | 阻止IO(相对权重),介于10和1000之间,或0禁用(默认值为0) |
--cpu-period | 0 | 限制CPU CFS(完全公平调度程序)期间 |
--cpu-quota | 0 | 限制CPU CFS(完全公平调度程序)配额 |
--cpu-rt-period | 0 | 以微秒为单位限制CPU实时周期 |
--cpu-rt-runtime | 0 | 以微秒为单位限制CPU实时运行时间 |
--cpu-shares, -c | 0 | CPU份额(相对重量) |
--cpus | CPU数量 | |
--cpuset-cpus | 允许执行的CPU(0-3,0,1) | |
--cpuset-mems | 允许执行的MEM(0-3,0,1) | |
--kernel-memory | 0 | 内核内存限制 |
--memory, -m | 0 | 内存限制 |
--memory-reservation | 0 | 内存软限制 |
--memory-swap | 0 | 交换限制等于内存加交换:'-1'以启用无限交换 |
--restart | 重新启动策略以在容器退出时应用 |
命令 | 描述 |
---|---|
docker | Docker CLI的基本命令。 |
docker update
命令动态更新容器配置。可以使用此命令防止容器从其Docker主机消耗太多资源。使用单个命令,您可以对单个容器或多个容器设置限制。若要指定多个容器,请提供以空格分隔的容器名称或ID列表.
除--kernel-memory
选项时,可以在运行或停止的容器上指定这些选项。在4.6以上的内核版本上,只能更新--kernel-memory
在已停止的容器上或在内核内存初始化的正在运行的容器上。
下面的部分将说明使用此命令的方法。
若要将容器的CPU共享限制为512,请首先标识容器名称或ID。你可以用docker ps
找到这些价值。还可以使用从docker run
命令。然后,执行以下操作:
$ docker update --cpu-shares 512 abebf7571666
要更新多个容器的多个资源配置,请执行以下操作:
$ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse
控件更新容器的内核内存限制。--kernel-memory
选择。在4.6以上的内核版本上,只有当容器启动时,才能在运行的容器上更新此选项。--kernel-memory
.如果容器已启动无--kernel-memory
在更新内核内存之前,需要停止容器。
例如,如果使用以下命令启动容器:
$ 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
对于容器来说是相互排斥的。