溫馨提示×

Debian Docker如何備份數據

小樊
40
2025-08-12 02:40:49
欄目: 智能運維

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

一、備份鏡像

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

docker save -o /backup/docker-images-backup.tar $(docker images -q)

或備份單個鏡像:

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

二、備份容器

  1. 導出容器快照(保留文件系統狀態):
docker export -o /backup/container-backup.tar <容器ID或名稱>
  1. 通過提交為鏡像備份(保留配置和狀態):
docker commit <容器ID> backup-image:latest
docker save -o backup-image.tar backup-image:latest

三、備份數據卷

  1. 直接復制卷數據(適用于命名卷):
docker volume ls  # 獲取卷名
docker cp <卷名>:/data /backup/volume-data  # 復制數據到宿主機
  1. 使用docker volume save(部分場景支持)
docker volume save <卷名> -o volume-backup.tar

四、備份配置文件

備份Docker守護進程配置和網絡配置:

sudo cp /etc/docker/daemon.json /backup/
sudo cp -r /etc/docker/network /backup/

五、自動化備份腳本示例

#!/bin/bash
BACKUP_DIR="/backup/docker-backup-$(date +%Y%m%d%H%M%S)"
mkdir -p "$BACKUP_DIR"

# 備份鏡像
docker images -q | xargs -I {} docker save -o "$BACKUP_DIR/{}.tar" {}

# 備份容器
for container in $(docker ps -aq); do
    docker export "$container" > "$BACKUP_DIR/${container}.tar"
done

# 備份卷
for volume in $(docker volume ls -q); do
    docker cp "$volume:/data" "$BACKUP_DIR/${volume}-data"
done

# 備份配置
sudo cp /etc/docker/daemon.json "$BACKUP_DIR/"
sudo cp -r /etc/docker/network "$BACKUP_DIR/"

echo "備份完成,文件保存在 $BACKUP_DIR"

注意事項

  • 數據一致性:備份前停止容器或確保數據已持久化到卷。
  • 存儲位置:將備份文件存放到外部硬盤或云存儲,避免單點故障。
  • 定期清理:定期刪除過期備份,節省存儲空間。

恢復時使用docker load、docker import等命令逆向操作即可,具體可參考各命令的官方文檔。

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