Docker update 命令

 Docker 命令大全Docker 命令大全


docker update 命令用于更新 Docker 容器的资源限制,包括内存、CPU 等。

docker update命令可以在容器运行时动态调整资源限制,而不需要停止和重新启动容器。

语法

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

常用参数

  • CONTAINER:要更新资源限制的容器名称或容器 ID。你可以指定一个或多个容器。
  • OPTIONS:用于指定需要更新的资源限制。

常用选项 OPTIONS:

1、--memory, -m:设置容器的内存限制。

  • 格式:<size>[<unit>]
  • 例如:500m2g 等。
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 权重(范围:101000),表示容器对磁盘 I/O 操作的优先级。默认值为 500

docker update --blkio-weight 800 my_container

8、--pids-limit:设置容器可以使用的最大进程数。

  • 格式:<number>,例如:100
docker update --pids-limit 200 my_container

9、--restart:设置容器的重启策略(noon-failurealwaysunless-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 命令会立即生效,但并不会影响容器内运行的应用程序,容器继续保持运行状态。
  • 仅支持调整容器的资源限制,对于其他容器配置(如环境变量、端口映射等)无法修改。

 Docker 命令大全Docker 命令大全