导出容器文件系统(仅数据)
docker export <容器ID或名称> > <备份文件>.tar
# 示例:docker export nginx-container > nginx-backup.tar
保存容器为镜像(含配置)
docker commit <容器ID或名称> <新镜像名>:<标签>
docker save -o <镜像备份文件>.tar <新镜像名>:<标签>
# 示例:docker commit nginx-container nginx-backup:latest
# docker save -o nginx-backup.tar nginx-backup:latest
从镜像恢复
docker load -i <镜像备份文件>.tar
docker run -d --name <新容器名> <新镜像名>:<标签>
# 示例:docker load -i nginx-backup.tar
# docker run -d --name nginx-restored nginx-backup:latest
从导出文件恢复
cat <备份文件>.tar | docker import - <新镜像名>:<标签>
docker run -d --name <新容器名> <新镜像名>:<标签>
# 示例:cat nginx-backup.tar | docker import - nginx-restored:latest
若容器使用了数据卷,需额外备份卷数据:
# 备份卷数据到主机
docker run --rm -v <卷名>:/backup -v $(pwd):/host busybox tar czvf /host/<卷备份文件>.tar.gz /backup
# 恢复卷数据
docker run --rm -v <卷名>:/backup -v $(pwd):/host busybox tar xzvf /host/<卷备份文件>.tar.gz -C /backup
以上方法覆盖了CentOS下Docker容器的基础备份与恢复需求,可根据实际场景选择合适方案。