溫馨提示×

centos docker數據怎么備份

小樊
51
2025-08-14 14:03:50
欄目: 智能運維

以下是在CentOS上備份Docker數據的常用方法:

一、備份Docker數據目錄(核心數據)

Docker默認數據存儲路徑為/var/lib/docker,可通過tar命令打包備份:

sudo tar -czvf docker-backup-$(date +%Y%m%d%H%M%S).tar.gz /var/lib/docker

將備份文件存儲到安全路徑(如外部硬盤或云存儲)。

二、備份鏡像

使用docker save命令將鏡像保存為tar文件:

docker images -q | xargs docker save -o /backup/docker-images-$(date +%Y%m%d%H%M%S).tar

或備份單個鏡像:

docker save -o my-image-backup.tar my-image:tag

三、備份容器

通過docker export導出容器文件系統快照(不包含元數據):

docker ps -aq | xargs -I {} docker export -o container-{}.tar {}

或使用docker commit將容器保存為新鏡像后備份:

docker ps -aq | xargs -I {} docker commit {} backup-image-{}
docker save -o backup-images.tar backup-image-*

四、備份卷(持久化數據)

  1. 列出所有卷:docker volume ls
  2. 掛載卷到臨時目錄并備份:
docker volume ls | awk '{print $1}' | xargs -I {} sh -c 'docker run --rm -v {}:/$$_volume alpine tar czvf /backup/{}_backup.tar /$$_volume'

五、備份網絡配置

導出網絡配置為JSON文件:

docker network ls | awk '{print $1}' | xargs -I {} docker network inspect {} > network-{}.json

六、自動化備份腳本

可編寫腳本整合上述操作,例如:

#!/bin/bash
# 備份鏡像
docker images -q | xargs docker save -o /backup/docker-images-$(date +%Y%m%d%H%M%S).tar
# 備份容器
docker ps -aq | xargs -I {} docker export -o /backup/container-{}.tar {}
# 備份卷
docker volume ls | awk '{print $1}' | xargs -I {} sh -c 'docker run --rm -v {}:/$$_volume alpine tar czvf /backup/{}_backup.tar /$$_volume'
echo "Backup completed!"

賦予執行權限后運行:chmod +x backup.sh && ./backup.sh

注意事項

  • 備份前建議停止Docker服務以避免數據不一致:sudo systemctl stop docker。
  • 定期驗證備份文件可用性,可通過docker load、docker import等命令測試恢復。
  • 生產環境建議使用專業備份工具(如Docker官方工具或第三方方案)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女