mirror of
https://github.com/containrrr/watchtower.git
synced 2025-12-18 08:00:14 +01:00
update docs for lifecycle hooks
This commit is contained in:
parent
36b8994933
commit
04d9ca39d5
1 changed files with 21 additions and 15 deletions
|
|
@ -1,41 +1,47 @@
|
||||||
|
|
||||||
## Executing commands before and after updating
|
## Executing commands before and after updating
|
||||||
|
|
||||||
> **DO NOTE**: Both commands are shell commands executed with `sh`, and therefore require the
|
> **DO NOTE**: These are shell commands executed with `sh`, and therefore require the
|
||||||
> container to provide the `sh` executable.
|
> container to provide the `sh` executable.
|
||||||
|
|
||||||
It is possible to execute a *pre-update* command and a *post-update* command
|
It is possible to execute _pre/post\-check_ and _pre/post\-update_ commands
|
||||||
**inside** every container updated by watchtower. The *pre-update* command is
|
**inside** every container updated by watchtower.
|
||||||
executed before stopping the container, and the *post-update* command is
|
|
||||||
executed after restarting the container.
|
- The _pre-check_ command is executed before checking the container for updates.
|
||||||
|
- The _pre-update_ command is executed before stopping the container when an update is about to start.
|
||||||
|
- The _post-update_ command is executed after restarting the updated container
|
||||||
|
- The _post-check_ command is executed last after a updated container is started or no update was needed.
|
||||||
|
|
||||||
This feature is disabled by default. To enable it, you need to set the option
|
This feature is disabled by default. To enable it, you need to set the option
|
||||||
`--enable-lifecycle-hooks` on the command line, or set the environment variable
|
`--enable-lifecycle-hooks` on the command line, or set the environment variable
|
||||||
`WATCHTOWER_LIFECYCLE_HOOKS` to `true`.
|
`WATCHTOWER_LIFECYCLE_HOOKS` to `true`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Specifying update commands
|
### Specifying update commands
|
||||||
|
|
||||||
The commands are specified using docker container labels, with
|
The commands are specified using docker container labels, the following are currently available:
|
||||||
`com.centurylinklabs.watchtower.lifecycle.pre-update-command` for the *pre-update*
|
|
||||||
command and `com.centurylinklabs.watchtower.lifecycle.post-update` for the
|
|
||||||
*post-update* command.
|
|
||||||
|
|
||||||
These labels can be declared as instructions in a Dockerfile:
|
- `com.centurylinklabs.watchtower.lifecycle.pre-check` - _pre-check_
|
||||||
|
- `com.centurylinklabs.watchtower.lifecycle.pre-update-command` - _pre-update_
|
||||||
|
- `com.centurylinklabs.watchtower.lifecycle.post-update` - _post-update_
|
||||||
|
- `com.centurylinklabs.watchtower.lifecycle.post-check` - _post-check_
|
||||||
|
|
||||||
|
These labels can be declared as instructions in a Dockerfile (with some example .sh files):
|
||||||
|
|
||||||
```docker
|
```docker
|
||||||
|
LABEL com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh"
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh"
|
LABEL com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh"
|
||||||
LABEL com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh"
|
LABEL com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh"
|
||||||
|
LABEL com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh"
|
||||||
```
|
```
|
||||||
|
|
||||||
Or be specified as part of the `docker run` command line:
|
Or be specified as part of the `docker run` command line:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -d \
|
docker run -d \
|
||||||
|
--label=com.centurylinklabs.watchtower.lifecycle.pre-check="/sync.sh" \
|
||||||
--label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \
|
--label=com.centurylinklabs.watchtower.lifecycle.pre-update="/dump-data.sh" \
|
||||||
--label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \
|
--label=com.centurylinklabs.watchtower.lifecycle.post-update="/restore-data.sh" \
|
||||||
someimage
|
someimage
|
||||||
|
--label=com.centurylinklabs.watchtower.lifecycle.post-check="/send-heartbeat.sh" \
|
||||||
```
|
```
|
||||||
|
|
||||||
### Execution failure
|
### Execution failure
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue