阅读量:3
以下是在Debian系统上备份Docker容器的常用方法:
一、备份容器为镜像
- 停止容器
sudo docker stop <容器名或ID> - 提交容器为镜像
sudo docker commit <容器名或ID> <备份镜像名>:<标签> - 保存镜像为tar文件
恢复:用sudo docker save -o <备份文件名>.tar <备份镜像名>:<标签>docker load -i <备份文件名>.tar加载镜像,再通过docker run启动容器。
二、直接备份容器文件系统
- 导出容器为tar文件
sudo docker export <容器名或ID> > <备份文件名>.tar - 导入容器
注意:此方法不会保留容器的网络配置和元数据。cat <备份文件名>.tar | sudo docker import - <新容器名>
三、备份容器数据卷
- 备份数据卷内容
- 若使用命名卷,可通过挂载到临时容器备份:
sudo docker run --rm -v <卷名>:/volume -v /backup:/backup alpine tar cvf /backup/<卷名>-backup-$(date +%Y%m%d).tar /volume - 若使用绑定挂载,直接备份主机目录即可。
- 若使用命名卷,可通过挂载到临时容器备份:
四、备份Docker配置
- 备份Docker守护进程配置
sudo cp /etc/docker/daemon.json /backup/daemon.json - 备份网络配置
恢复:将备份文件复制回原路径并重启Docker。sudo cp -r /etc/docker/network /backup/network
五、自动化备份脚本
可编写脚本定期备份镜像、容器和卷,例如:
#!/bin/bash
BACKUP_DIR="/backup/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
docker save $(docker images -q) > $BACKUP_DIR/images.tar
docker volume ls -q | xargs -I {} sudo docker run --rm -v {}:/volume -v $BACKUP_DIR:/backup alpine tar cvf /backup/{}-backup.tar /volume
将脚本设为定时任务(如通过cron)实现定期备份。
注意事项
- 数据一致性:备份前停止容器,避免数据损坏。
- 存储安全:将备份文件存放在安全位置(如外部存储或云存储),并定期测试恢复流程。
- 优先使用卷:重要数据建议通过Docker卷持久化存储,便于单独备份和恢复。
以上就是关于“Debian Docker 容器如何备份”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm