docker update 命令

docker update

更新一个或多个容器的配置。官方文档

用法

复制代码
$ docker update [OPTIONS] CONTAINER [CONTAINER...]

请参阅选项部分OPTIONS,了解此命令可用的概述。

描述

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

除了该--kernel-memory选项之外,您可以在正在运行或已停止的容器上指定这些选项。在早于 4.6 的内核版本上,您只能--kernel-memory在已停止的容器或已初始化内核内存的正在运行的容器上进行更新。

警告

Windows 容器不支持docker update和命令。docker container update

有关此命令的使用示例,请参阅下面的示例部分

选项

名称、简写 默认 描述
--blkio-weight 块 IO(相对权重),介于 10 到 1000 之间,或 0 禁用(默认 0)
--cpu-period 限制CPU CFS(完全公平调度程序)周期
--cpu-quota 限制CPU CFS(完全公平调度程序)配额
--cpu-rt-period 限制CPU实时周期(以微秒为单位)
--cpu-rt-runtime 将CPU实时运行时间限制在微秒级
--cpu-shares,-c CPU 份额(相对权重)
--cpus CPU数量
--cpuset-cpus 允许执行的 CPU (0-3, 0,1)
--cpuset-mems 允许执行的 MEM (0-3, 0,1)
--memory,-m 内存限制
--memory-reservation 内存软限制
--memory-swap 交换限制等于内存加交换:-1 启用无限制交换
--pids-limit API 1.40+ 调整容器 pid 限制(设置 -1 表示无限制)
--restart 容器退出时应用的重新启动策略

例子

以下部分说明了使用此命令的方法。

更新容器的 cpu-shares (--cpu-shares)

要将容器的 cpu 份额限制为 512,请首先确定容器名称或 ID。您可以使用docker ps来查找这些值。您还可以使用从命令返回的 ID docker run。然后,执行以下操作:

复制代码
$ docker update --cpu-shares 512 abebf7571666

使用 cpu-shares 和内存更新容器 (-m, --memory)

要更新多个容器的多个资源配置:

复制代码
$ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse

更新容器的内核内存约束(--kernel-memory)

您可以使用该选项更新容器的内核内存限制--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与其他选项相同的方式。

更新容器的重启策略(--restart)

您可以更改正在运行的容器的容器重启策略。docker update新的重启策略在容器上运行后立即生效。

要更新一个或多个容器的重启策略:

复制代码
$ docker update --restart=on-failure:3 abebf7571666 hopeful_morse

请注意,如果容器使用"--rm"标志启动,则无法更新其重启策略。对于容器来说 和 是互斥的AutoRemoveRestartPolicy

相关推荐
风123456789~1 小时前
【Linux专栏】显示或隐藏行号、批量注释
linux·运维·服务器
谢尔登1 小时前
简单聊聊webpack摇树的原理
运维·前端·webpack
只想安静的写会代码2 小时前
centos/ubuntu/redhat配置清华源/本地源
linux·运维·服务器
2501_941881402 小时前
Kubernetes 容器集群资源调度与弹性扩容高可用架构在互联网业务实战经验总结
云原生·容器·kubernetes
究極の法則に通じた野犬2 小时前
k8s设计理念-k8s中哪些服务要部署成StatefulSet哪些部署成Deployment
云原生·容器·kubernetes
wuxingge2 小时前
k8s集群误删node节点,怎么添加回去
云原生·容器·kubernetes
susu10830189112 小时前
ubuntu多块硬盘挂载到同一目录LVM方式
linux·运维·ubuntu
贝锐3 小时前
Docker部署Teemii本地漫画库,并通过花生壳内网穿透实现远程访问
docker
smaller_maple4 小时前
linux问题记录1
linux·运维·服务器
阿星智力囊6 小时前
Thinkphp6+nginx环境报错信息不显示,接口直接报500和CORS跨域(错误的引导方向),真坑啊
运维·nginx·php·thinkphp6