mirror of
https://github.com/offen/docker-volume-backup.git
synced 2025-12-06 17:38:01 +01:00
* Add test demonstrating failure when running on worker node * Consider manager status when checking for swarm related features * Update documentation
57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
services:
|
|
database:
|
|
image: mariadb:10.7
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
placement:
|
|
constraints:
|
|
- node.hostname == worker1
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: test
|
|
MARIADB_DATABASE: backup
|
|
labels:
|
|
- docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -ptest --all-databases > /tmp/volume/dump.sql'
|
|
- docker-volume-backup.copy-post=/bin/sh -c 'echo "post" > /tmp/volume/post.txt'
|
|
- docker-volume-backup.stop-during-backup=true
|
|
volumes:
|
|
- app_data:/tmp/volume
|
|
|
|
other_database:
|
|
image: mariadb:10.7
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.hostname == manager
|
|
restart_policy:
|
|
condition: on-failure
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: test
|
|
MARIADB_DATABASE: backup
|
|
labels:
|
|
- docker-volume-backup.archive-pre=touch /tmp/volume/not-relevant.txt
|
|
- docker-volume-backup.exec-label=not-relevant
|
|
volumes:
|
|
- app_data:/tmp/volume
|
|
|
|
backup:
|
|
image: offen/docker-volume-backup:${TEST_VERSION:-canary}
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
placement:
|
|
constraints:
|
|
- node.hostname == worker1
|
|
environment:
|
|
BACKUP_FILENAME: test.tar.gz
|
|
BACKUP_CRON_EXPRESSION: 0 0 5 31 2 ?
|
|
EXEC_FORWARD_OUTPUT: "true"
|
|
volumes:
|
|
- backup_archive:/archive
|
|
- app_data:/backup/data:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
volumes:
|
|
app_data:
|
|
backup_archive:
|