, как указано в комментариях, убедитесь, что вы используете тома для папки данных.
для резервного копирования:
- создайте скрипт bash на хост-компьютере и сделайте его исполняемый файл:
#!/bin/bash
DATE=$(date '+%Y-%m-%d_%H-%M-%S')
docker exec <container name> /usr/bin/mysqldump -u <putdatabaseusername here> -p<PutyourpasswordHere> --all-databases > /<path to desired backup location>/$DATE.sql
if [[ $? == 0 ]]; then
find /<path to desired backup location>/ -mtime +10 -exec rm {} \;
fi
изменить следующее:
<container name>
на фактическое имя контейнера БД
<putdatabaseusername here>
на пользователя БД
<PutyourpasswordHere>
к паролю БД
создайте каталог для файлов резервных копий и замените /<path to desired backup location>/
на фактический путь
создайте cronjob на хост-компьютере, который выполняет сценарий в нужное время / период
обратите внимание, что этот сценарий будет сохранять резервные копии в течение 10 дней, измените число в соответствии с вашими потребностями.
Важное примечание: этот скрипт хранит пароль в файле, используйте безопасный способ при производстве