---
description: Apply rolling updates to a service on the swarm
keywords: tutorial, cluster management, swarm, service, rolling-update
title: Apply rolling updates to a service
weight: 70
notoc: true
---
In a previous step of the tutorial, you [scaled](scale-service.md) the number of
instances of a service. In this part of the tutorial, you deploy a service based
on the Redis 7.4.0 container tag. Then you upgrade the service to use the
Redis 7.4.1 container image using rolling updates.
1. If you haven't already, open a terminal and ssh into the machine where you
run your manager node. For example, the tutorial uses a machine named
`manager1`.
2. Deploy your Redis tag to the swarm and configure the swarm with a 10 second
update delay. Note that the following example shows an older Redis tag:
```console
$ docker service create \
--replicas 3 \
--name redis \
--update-delay 10s \
redis:7.4.0
0u6a4s31ybk7yw2wyvtikmu50
```
You configure the rolling update policy at service deployment time.
The `--update-delay` flag configures the time delay between updates to a
service task or sets of tasks. You can describe the time `T` as a
combination of the number of seconds `Ts`, minutes `Tm`, or hours `Th`. So
`10m30s` indicates a 10 minute 30 second delay.
By default the scheduler updates 1 task at a time. You can pass the
`--update-parallelism` flag to configure the maximum number of service tasks
that the scheduler updates simultaneously.
By default, when an update to an individual task returns a state of
`RUNNING`, the scheduler schedules another task to update until all tasks
are updated. If at any time during an update a task returns `FAILED`, the
scheduler pauses the update. You can control the behavior using the
`--update-failure-action` flag for `docker service create` or
`docker service update`.
3. Inspect the `redis` service:
```console
$ docker service inspect --pretty redis
ID: 0u6a4s31ybk7yw2wyvtikmu50
Name: redis
Service Mode: Replicated
Replicas: 3
Placement:
Strategy: Spread
UpdateConfig:
Parallelism: 1
Delay: 10s
ContainerSpec:
Image: redis:7.4.0
Resources:
Endpoint Mode: vip
```
4. Now you can update the container image for `redis`. The swarm manager
applies the update to nodes according to the `UpdateConfig` policy:
```console
$ docker service update --image redis:7.4.1 redis
redis
```
The scheduler applies rolling updates as follows by default:
* Stop the first task.