github.com/jiasir/docker@v1.3.3-0.20170609024000-252e610103e7/docs/reference/commandline/update.md (about)

     1  ---
     2  title: "update"
     3  description: "The update command description and usage"
     4  keywords: "resources, update, dynamically"
     5  ---
     6  
     7  <!-- This file is maintained within the docker/docker Github
     8       repository at https://github.com/docker/docker/. Make all
     9       pull requests against that repo. If you see this file in
    10       another repository, consider it read-only there, as it will
    11       periodically be overwritten by the definitive file. Pull
    12       requests which include edits to this file in other repositories
    13       will be rejected.
    14  -->
    15  
    16  ## update
    17  
    18  ```markdown
    19  Usage:  docker update [OPTIONS] CONTAINER [CONTAINER...]
    20  
    21  Update configuration of one or more containers
    22  
    23  Options:
    24        --blkio-weight uint16         Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
    25        --cpu-period int              Limit CPU CFS (Completely Fair Scheduler) period
    26        --cpu-quota int               Limit CPU CFS (Completely Fair Scheduler) quota
    27        --cpu-rt-period int           Limit the CPU real-time period in microseconds
    28        --cpu-rt-runtime int          Limit the CPU real-time runtime in microseconds
    29    -c, --cpu-shares int              CPU shares (relative weight)
    30        --cpus decimal                Number of CPUs (default 0.000)
    31        --cpuset-cpus string          CPUs in which to allow execution (0-3, 0,1)
    32        --cpuset-mems string          MEMs in which to allow execution (0-3, 0,1)
    33        --help                        Print usage
    34        --kernel-memory string        Kernel memory limit
    35    -m, --memory string               Memory limit
    36        --memory-reservation string   Memory soft limit
    37        --memory-swap string          Swap limit equal to memory plus swap: '-1' to enable unlimited swap
    38        --restart string              Restart policy to apply when a container exits
    39  ```
    40  
    41  ## Description
    42  
    43  The `docker update` command dynamically updates container configuration.
    44  You can use this command to prevent containers from consuming too many
    45  resources from their Docker host.  With a single command, you can place
    46  limits on a single container or on many. To specify more than one container,
    47  provide space-separated list of container names or IDs.
    48  
    49  With the exception of the `--kernel-memory` option, you can specify these
    50  options on a running or a stopped container. On kernel version older than
    51  4.6, you can only update `--kernel-memory` on a stopped container or on
    52  a running container with kernel memory initialized.
    53  
    54  ## Examples
    55  
    56  The following sections illustrate ways to use this command.
    57  
    58  ### Update a container's cpu-shares
    59  
    60  To limit a container's cpu-shares to 512, first identify the container
    61  name or ID. You can use `docker ps` to find these values. You can also
    62  use the ID returned from the `docker run` command.  Then, do the following:
    63  
    64  ```bash
    65  $ docker update --cpu-shares 512 abebf7571666
    66  ```
    67  
    68  ### Update a container with cpu-shares and memory
    69  
    70  To update multiple resource configurations for multiple containers:
    71  
    72  ```bash
    73  $ docker update --cpu-shares 512 -m 300M abebf7571666 hopeful_morse
    74  ```
    75  
    76  ### Update a container's kernel memory constraints
    77  
    78  You can update a container's kernel memory limit using the `--kernel-memory`
    79  option. On kernel version older than 4.6, this option can be updated on a
    80  running container only if the container was started with `--kernel-memory`.
    81  If the container was started *without* `--kernel-memory` you need to stop
    82  the container before updating kernel memory.
    83  
    84  For example, if you started a container with this command:
    85  
    86  ```bash
    87  $ docker run -dit --name test --kernel-memory 50M ubuntu bash
    88  ```
    89  
    90  You can update kernel memory while the container is running:
    91  
    92  ```bash
    93  $ docker update --kernel-memory 80M test
    94  ```
    95  
    96  If you started a container *without* kernel memory initialized:
    97  
    98  ```bash
    99  $ docker run -dit --name test2 --memory 300M ubuntu bash
   100  ```
   101  
   102  Update kernel memory of running container `test2` will fail. You need to stop
   103  the container before updating the `--kernel-memory` setting. The next time you
   104  start it, the container uses the new value.
   105  
   106  Kernel version newer than (include) 4.6 does not have this limitation, you
   107  can use `--kernel-memory` the same way as other options.
   108  
   109  ### Update a container's restart policy
   110  
   111  You can change a container's restart policy on a running container. The new
   112  restart policy takes effect instantly after you run `docker update` on a
   113  container.
   114  
   115  To update restart policy for one or more containers:
   116  
   117  ```bash
   118  $ docker update --restart=on-failure:3 abebf7571666 hopeful_morse
   119  ```
   120  
   121  Note that if the container is started with "--rm" flag, you cannot update the restart
   122  policy for it. The `AutoRemove` and `RestartPolicy` are mutually exclusive for the
   123  container.