WatchTower
https://containrrr.github.io/watchtower/
With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially.
version: "3"
services:
watchtower.service:
container_name: watchtower.service
image: containrrr/watchtower:latest
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE="0 4 * * 2 *"
- WATCHTOWER_TIMEOUT=30s
logging:
options:
max-size: "200k"
max-file: "10"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /root/.docker/config.json:/config.json