以下是在Ubuntu中备份Docker数据的常用方法:
sudo systemctl stop docker
/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 volume ls
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
docker save -o backup-image.tar $(docker images -q)
或备份单个容器为镜像:docker commit container-name backup-image
docker save -o backup-image.tar backup-image
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 执行。