溫馨提示×

ubuntu中docker如何備份數據

小樊
32
2025-09-08 18:15:23
欄目: 智能運維

以下是在Ubuntu中備份Docker數據的常用方法:

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

  1. 停止Docker服務
    sudo systemctl stop docker
    
  2. 備份數據目錄
    • 備份 /var/lib/docker(容器、鏡像、卷等核心數據):
      sudo tar -czvf docker-data-backup.tar.gz /var/lib/docker
      
    • 備份 /etc/docker(配置文件):
      sudo tar -czvf docker-config-backup.tar.gz /etc/docker
      

二、備份Docker卷數據

  1. 列出所有卷
    docker volume ls
    
  2. 備份單個卷
    sudo tar -czvf volume-name-backup.tar.gz /var/lib/docker/volumes/volume-name/_data
    
    或使用 docker cp 命令復制卷數據到宿主機:
    docker cp volume-name:/path/in/volume /host/backup/path
    

三、備份容器鏡像

  1. 保存鏡像為tar文件
    docker save -o backup-image.tar $(docker images -q)
    
    或備份單個容器為鏡像:
    docker commit container-name backup-image
    docker save -o backup-image.tar backup-image
    

四、備份Docker網絡配置

docker network ls | awk '/^([0-9a-f]{12})$/ {print $1}' | xargs -I {} docker network inspect {} > network-backup.json

五、自動化備份腳本(示例)

#!/bin/bash
BACKUP_DIR="/path/to/backup"
mkdir -p "$BACKUP_DIR"
sudo systemctl stop docker
sudo tar -czvf "$BACKUP_DIR/docker-data-$(date +%Y%m%d).tar.gz" /var/lib/docker
sudo tar -czvf "$BACKUP_DIR/docker-config-$(date +%Y%m%d).tar.gz" /etc/docker
for volume in $(docker volume ls -q); do
    sudo tar -czvf "$BACKUP_DIR/${volume}-$(date +%Y%m%d).tar.gz" /var/lib/docker/volumes/$volume/_data
done
sudo cp -r /etc/docker/network "$BACKUP_DIR/"
echo "Backup completed!"

注意事項

  • 權限:確保備份目錄有足夠空間,且命令以 sudo 執行。
  • 恢復驗證:定期測試備份文件的可用性,避免數據損壞。
  • 存儲位置:將備份文件存放到外部硬盤或云存儲,避免單點故障。

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