在Ubuntu上备份Docker容器有多种方法,以下是一些常用的备份和恢复步骤:
使用 docker commit 创建镜像备份
docker stop <container_name_or_id>
docker commit <container_name_or_id> <backup_image_name>
docker save -o <backup_image_name>.tar <backup_image_name>
scp):scp <backup_image_name>.tar user@remote_host:/path/to/backup/location
使用 docker export 导出容器文件系统
docker export <container_name_or_id> > <container_backup>.tar
scp <container_backup>.tar user@remote_host:/path/to/backup/location
使用 docker checkpoint(适用于Docker 1.12及以上版本)
echo 1 > /proc/sys/vm/nr_checkpoint_threads
docker checkpoint create <backup_image_name> <checkpoint_name>
docker checkpoint export <checkpoint_name> <checkpoint_name>.tar
scp <checkpoint_name>.tar user@remote_host:/path/to/backup/location
使用第三方工具(如 restic)
restic:sudo apt-get update
sudo apt-get install restic
restic:restic init --repo /path/to/restic/repo
restic backup /path/to/containers/
restic restore <backup_image_name>
使用 docker load 恢复镜像
docker load -i <backup_image_name>.tar
docker run -d --name <new_container_name> <backup_image_name>
使用 docker import 恢复文件系统
cat <container_backup>.tar | docker import - <backup_image_name>
docker run -d --name <new_container_name> <backup_image_name>
使用 docker checkpoint restore 恢复检查点
docker checkpoint restore <checkpoint_name>
在进行备份和恢复操作之前,请确保容器已停止,以避免数据不一致。备份文件应存储在安全的位置,以防止数据丢失。使用第三方工具时,请确保其安全性和兼容性。