2016-10-14 18:30:36 -04:00
|
|
|
---
|
|
|
|
title: "update"
|
|
|
|
description: "The update command description and usage"
|
2016-11-03 18:48:30 -04:00
|
|
|
keywords: "resources, update, dynamically"
|
2016-10-14 18:30:36 -04:00
|
|
|
---
|
2015-12-28 06:19:26 -05:00
|
|
|
|
|
|
|
## update
|
|
|
|
|
2016-07-07 14:43:18 -04:00
|
|
|
```markdown
|
|
|
|
Usage: docker update [OPTIONS] CONTAINER [CONTAINER...]
|
2015-12-28 06:19:26 -05:00
|
|
|
|
2016-07-07 14:43:18 -04:00
|
|
|
Update configuration of one or more containers
|
2015-12-28 06:19:26 -05:00
|
|
|
|
2016-07-07 14:43:18 -04:00
|
|
|
Options:
|
2017-02-18 01:04:37 -05:00
|
|
|
--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
|
2016-07-07 14:43:18 -04:00
|
|
|
--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period
|
|
|
|
--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota
|
2016-06-07 15:05:43 -04:00
|
|
|
--cpu-rt-period int Limit the CPU real-time period in microseconds
|
|
|
|
--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds
|
2017-02-18 01:04:37 -05:00
|
|
|
-c, --cpu-shares int CPU shares (relative weight)
|
|
|
|
--cpus decimal Number of CPUs (default 0.000)
|
2016-07-07 14:43:18 -04:00
|
|
|
--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)
|
|
|
|
--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)
|
|
|
|
--help Print usage
|
|
|
|
--kernel-memory string Kernel memory limit
|
|
|
|
-m, --memory string Memory limit
|
|
|
|
--memory-reservation string Memory soft limit
|
|
|
|
--memory-swap string Swap limit equal to memory plus swap: '-1' to enable unlimited swap
|
2017-06-12 02:22:11 -04:00
|
|
|
--pids-limit int Tune container pids limit (set -1 for unlimited)
|
2016-07-07 14:43:18 -04:00
|
|
|
--restart string Restart policy to apply when a container exits
|
|
|
|
```
|
2015-12-28 06:19:26 -05:00
|
|
|
|
2017-02-07 18:42:48 -05:00
|
|
|
## Description
|
|
|
|
|
2016-01-04 10:58:20 -05:00
|
|
|
The `docker update` command dynamically updates container configuration.
|
2016-10-14 18:30:36 -04:00
|
|
|
You can use this command to prevent containers from consuming too many
|
|
|
|
resources from their Docker host. With a single command, you can place
|
2016-07-12 08:29:02 -04:00
|
|
|
limits on a single container or on many. To specify more than one container,
|
|
|
|
provide space-separated list of container names or IDs.
|
2015-12-28 06:19:26 -05:00
|
|
|
|
2016-07-12 08:29:02 -04:00
|
|
|
With the exception of the `--kernel-memory` option, you can specify these
|
2016-07-26 21:03:15 -04:00
|
|
|
options on a running or a stopped container. On kernel version older than
|
|
|
|
4.6, you can only update `--kernel-memory` on a stopped container or on
|
|
|
|
a running container with kernel memory initialized.
|
2016-01-04 10:58:20 -05:00
|
|
|
|
2020-04-19 09:43:08 -04:00
|
|
|
> **Warning**
|
|
|
|
>
|
|
|
|
> The `docker update` and `docker container update` commands are not supported
|
|
|
|
> for Windows containers.
|
2017-08-17 18:37:48 -04:00
|
|
|
{: .warning }
|
|
|
|
|
2016-09-17 23:00:19 -04:00
|
|
|
## Examples
|
2015-12-28 06:19:26 -05:00
|
|
|
|
|
|
|
The following sections illustrate ways to use this command.
|
|
|
|
|
2022-03-30 09:05:29 -04:00
|
|
|
### <a name=cpu-shares></a> Update a container's cpu-shares (--cpu-shares)
|
2015-12-28 06:19:26 -05:00
|
|
|
|
|
|
|
To limit a container's cpu-shares to 512, first identify the container
|
2016-07-12 08:29:02 -04:00
|
|
|
name or ID. You can use `docker ps` to find these values. You can also
|
|
|
|
use the ID returned from the `docker run` command. Then, do the following:
|
2015-12-28 06:19:26 -05:00
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2015-12-28 06:19:26 -05:00
|
|
|
$ docker update --cpu-shares 512 abebf7571666
|
|
|
|
```
|
|
|
|
|
2022-03-30 09:05:29 -04:00
|
|
|
### <a name=memory></a> Update a container with cpu-shares and memory (-m, --memory)
|
2015-12-28 06:19:26 -05:00
|
|
|
|
|
|
|
To update multiple resource configurations for multiple containers:
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2015-12-28 06:19:26 -05:00
|
|
|
$ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse
|
|
|
|
```
|
2016-01-04 10:58:20 -05:00
|
|
|
|
2022-03-30 09:05:29 -04:00
|
|
|
### <a name=kernel-memory></a> Update a container's kernel memory constraints (--kernel-memory)
|
2016-07-12 08:29:02 -04:00
|
|
|
|
|
|
|
You can update a container's kernel memory limit using the `--kernel-memory`
|
2016-07-26 21:03:15 -04:00
|
|
|
option. On kernel version older than 4.6, this option can be updated on a
|
|
|
|
running container only if the container was started with `--kernel-memory`.
|
|
|
|
If the container was started *without* `--kernel-memory` you need to stop
|
|
|
|
the container before updating kernel memory.
|
2016-07-12 08:29:02 -04:00
|
|
|
|
2020-07-24 07:49:00 -04:00
|
|
|
> **Note**
|
|
|
|
>
|
2020-10-13 03:39:42 -04:00
|
|
|
> The `--kernel-memory` option has been deprecated since Docker 20.10.
|
2020-07-24 07:49:00 -04:00
|
|
|
|
2016-07-12 08:29:02 -04:00
|
|
|
For example, if you started a container with this command:
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2016-07-12 08:29:02 -04:00
|
|
|
$ docker run -dit --name test --kernel-memory 50M ubuntu bash
|
|
|
|
```
|
|
|
|
|
|
|
|
You can update kernel memory while the container is running:
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2016-07-12 08:29:02 -04:00
|
|
|
$ docker update --kernel-memory 80M test
|
|
|
|
```
|
|
|
|
|
|
|
|
If you started a container *without* kernel memory initialized:
|
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2016-07-12 08:29:02 -04:00
|
|
|
$ docker run -dit --name test2 --memory 300M ubuntu bash
|
|
|
|
```
|
|
|
|
|
|
|
|
Update kernel memory of running container `test2` will fail. You need to stop
|
|
|
|
the container before updating the `--kernel-memory` setting. The next time you
|
|
|
|
start it, the container uses the new value.
|
|
|
|
|
2016-07-26 21:03:15 -04:00
|
|
|
Kernel version newer than (include) 4.6 does not have this limitation, you
|
|
|
|
can use `--kernel-memory` the same way as other options.
|
2016-07-12 08:29:02 -04:00
|
|
|
|
2022-03-30 09:05:29 -04:00
|
|
|
### <a name=restart></a> Update a container's restart policy (--restart)
|
2016-01-04 10:58:20 -05:00
|
|
|
|
2016-07-12 08:29:02 -04:00
|
|
|
You can change a container's restart policy on a running container. The new
|
|
|
|
restart policy takes effect instantly after you run `docker update` on a
|
|
|
|
container.
|
|
|
|
|
2016-01-04 10:58:20 -05:00
|
|
|
To update restart policy for one or more containers:
|
2016-07-12 08:29:02 -04:00
|
|
|
|
2021-08-21 08:54:14 -04:00
|
|
|
```console
|
2016-01-04 10:58:20 -05:00
|
|
|
$ docker update --restart=on-failure:3 abebf7571666 hopeful_morse
|
|
|
|
```
|
2016-08-15 04:38:47 -04:00
|
|
|
|
|
|
|
Note that if the container is started with "--rm" flag, you cannot update the restart
|
|
|
|
policy for it. The `AutoRemove` and `RestartPolicy` are mutually exclusive for the
|
|
|
|
container.
|