在CentOS系統上使用Docker進行數據備份與恢復,可以采用以下幾種方法:
docker run
命令創建一個臨時容器,掛載需要備份的數據卷容器,并使用tar
命令將數據卷內容壓縮成tar.gz文件。docker run --volumes-from [container name] -v $(pwd):/backup centos tar czvf /backup/backup.tar.gz [container data volume]
例如,如果要備份名為data-volume2
的數據卷容器,并且宿主機上的備份目錄是/root/backup
,則命令如下:
docker run --volumes-from data-volume2 -v /root/backup:/backup --name datavolume-copy centos tar zcvf /backup/data-volume2.tar.gz /datavolume3
tar
命令解壓縮備份文件到數據卷中。docker run --volumes-from [container name] -v $(pwd):/backup centos tar xzvf /backup/backup.tar.gz -C /
例如,恢復data-volume2
的數據卷到容器中,命令如下:
docker run --volumes-from data-volume2 -v /root/backup:/backup centos tar zxvf /backup/data-volume2.tar.gz -C /
rsync
命令可以實現文件的增量備份。首先安裝rsync
,然后創建備份腳本并使用crontab
設置定時任務。sudo yum install rsync
mkdir /backup
echo '#!/bin/bash
rsync -avz --delete /path/to/important/data/ /backup/' > /path/to/backup.sh
chmod +x /path/to/backup.sh
crontab -e
rsync -avz /backup/ /path/to/restore/
tar
命令將文件或目錄打包成一個壓縮文件。sudo tar czvf /backup/backup_(date %Y%m%d).tar.gz /path/to/important/data/
sudo tar xvf /backup/backup_(date %Y%m%d).tar.gz -C /path/to/restore/
mysqldump
等工具來備份數據庫。mysqldump -u username -p database_name > backup.sql
mysql -u username -p database_name < backup.sql
以上方法可以根據實際需求選擇使用,以實現CentOS系統上Docker數據的備份與恢復。