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

相关推荐
SelectDB5 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
曲幽12 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
武子康2 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker