docker-mailserver/docs/content/config/advanced/maintenance/update-and-cleanup.md
jpduyx 8c0cfa0836
docs: Revise update-and-cleanup.md (#3539)
* Update update-and-cleanup.md

spotify dockergc is UNMAINTAINED, they advice to consider using the `docker system prune` command instead.

"This repository has been archived by the owner on Feb 2, 2021. It is now read-only."

https://github.com/spotify/docker-gc

* Revise `update-and-cleanup.md`

Merges the image update + cleanup sections.

---------

Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2023-09-19 16:21:33 +12:00

2 KiB

title
Maintenance | Update and Cleanup

containrrr/watchtower is a service that monitors Docker images for updates, automatically applying them to running containers.

!!! example "Automatic image updates + cleanup"

```yaml title="compose.yaml"
services:
  watchtower:
    image: containrrr/watchtower:latest
    # Automatic cleanup (removes older image pulls from wasting disk space):
    environment:
      - WATCHTOWER_CLEANUP=true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
```

!!! tip "Updating only specific containers"

The default `watchtower` service will check every 24 hours for any new image updates to pull, **not only the images** defined within your `compose.yaml`.

The images to update can be restricted with a custom command that provides a list of containers names and other config options. Configuration is detailed in the [`watchtower` docs][watchtower-docs].

!!! info "Manual cleanup"

`watchtower` also supports running on-demand with `docker run` or `compose.yaml` via the `--run-once` option.

You can also directly invoke cleanup of Docker storage with:

- [`docker image prune --all`][docker-docs-prune-image]
- [`docker system prune --all`][docker-docs-prune-system] (_also removes unused containers, networks, build cache_).
- Avoid the `--all` option to only remove ["dangling" content][docker-prune-dangling] (_eg: Orphaned images_).