Docker update 命令
docker update
命令用于更新 Docker 容器的资源限制,包括内存、CPU 等。
docker update
命令可以在容器运行时动态调整资源限制,而不需要停止和重新启动容器。
语法
docker update [OPTIONS] CONTAINER [CONTAINER...]
常用参数
CONTAINER
:要更新资源限制的容器名称或容器 ID。你可以指定一个或多个容器。OPTIONS
:用于指定需要更新的资源限制。
常用选项 OPTIONS:
1、--memory, -m
:设置容器的内存限制。
- 格式:
<size>[<unit>]
- 例如:
500m
、2g
等。
docker update -m 2g my_container
2、--memory-swap
:设置容器的内存和交换空间(swap)的总限制。如果设置为 -1
,表示不限制交换空间。
- 格式:
<size>[<unit>]
,如2g
,或-1
表示无限制。
docker update --memory-swap 3g my_container
3、--cpu-shares
:设置容器的 CPU 优先级,相对值。默认为 1024
,较大的值表示较高的优先级。
- 该选项不会直接限制容器的 CPU 使用量,而是控制 CPU 资源分配的优先级。
docker update --cpu-shares 2048 my_container
4、--cpus
:设置容器使用的 CPU 核心数。这个选项可以限制容器最多使用的 CPU 核心数。
- 格式:
<number>
,例如:1.5
表示最多使用 1.5 个 CPU 核心。
docker update --cpus 2 my_container
5、--cpu-period
:设置 CPU 周期时间。用于配合 --cpu-quota
限制容器的 CPU 使用时间。单位是微秒(默认值:100000
微秒 = 100ms)。
docker update --cpu-period 50000 my_container
6、--cpu-quota
:设置容器在每个周期内可以使用的最大 CPU 时间。单位是微秒。需要与 --cpu-period
配合使用。
docker update --cpu-quota 25000 my_container
7、--blkio-weight
:设置块 I/O 权重(范围:10
到 1000
),表示容器对磁盘 I/O 操作的优先级。默认值为 500
。
docker update --blkio-weight 800 my_container
8、--pids-limit
:设置容器可以使用的最大进程数。
- 格式:
<number>
,例如:100
。
docker update --pids-limit 200 my_container
9、--restart
:设置容器的重启策略(no
、on-failure
、always
、unless-stopped
)。
docker update --restart always my_container
实例
1. 更新容器的内存限制:
docker update -m 2g my_container这条命令将 my_container 的内存限制更新为 2GB。
2. 设置 CPU 核心数限制:
docker update --cpus 1.5 my_container
这条命令将 my_container 限制为最多使用 1.5 个 CPU 核心。
3. 更新容器的 CPU 权重:
docker update --cpu-shares 1024 my_container
这条命令将容器的 CPU 权重设置为 1024,默认值就是 1024。
4. 更新容器的块 I/O 权重:
docker update --blkio-weight 700 my_container
这条命令将容器的磁盘 I/O 权重设置为 700,权重范围是 10 到 1000。
使用限制
docker update
命令会立即生效,但并不会影响容器内运行的应用程序,容器继续保持运行状态。- 仅支持调整容器的资源限制,对于其他容器配置(如环境变量、端口映射等)无法修改。
点我分享笔记