Docker 17
引擎: CLI | Engine: CLI

docker update

docker update

描述

更新一个或多个容器的配置

用法

docker update [OPTIONS] CONTAINER [CONTAINER...]

备选方案

名字,简写默认描述
-blkio-weight0阻止IO(相对权重),介于10和1000之间,或0禁用(默认值为0)
--cpu-period0限制CPU CFS(完全公平调度程序)期间
--cpu-quota0限制CPU CFS(完全公平调度程序)配额
--cpu-rt-period0以微秒为单位限制CPU实时周期
--cpu-rt-runtime0以微秒为单位限制CPU实时运行时间
--cpu-shares, -c0CPU份额(相对重量)
--cpusCPU数量
--cpuset-cpus允许执行的CPU(0-3,0,1)
--cpuset-mems允许执行的MEM(0-3,0,1)
--kernel-memory0内核内存限制
--memory, -m0内存限制
--memory-reservation0内存软限制
--memory-swap0交换限制等于内存加交换:'-1'以启用无限交换
--restart重新启动策略以在容器退出时应用

父命令

命令描述
docker Docker CLI的基本命令。

扩展描述

docker update命令动态更新容器配置。可以使用此命令防止容器从其Docker主机消耗太多资源。使用单个命令,您可以对单个容器或多个容器设置限制。若要指定多个容器,请提供以空格分隔的容器名称或ID列表.

--kernel-memory选项时,可以在运行或停止的容器上指定这些选项。在4.6以上的内核版本上,只能更新--kernel-memory在已停止的容器上或在内核内存初始化的正在运行的容器上。

实例

下面的部分将说明使用此命令的方法。

更新容器的CPU共享

若要将容器的CPU共享限制为512,请首先标识容器名称或ID。你可以用docker ps找到这些价值。还可以使用从docker run命令。然后,执行以下操作:

$ 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在更新内核内存之前,需要停止容器。

例如,如果使用以下命令启动容器:

$ 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”标志启动的,则不能更新它的重新启动策略。大AutoRemoveRestartPolicy对于容器来说是相互排斥的。