在CentOS中实现Docker容器备份,可以使用docker commit命令将容器的当前状态保存为一个新的镜像,然后使用docker save命令将镜像保存为tar文件。以下是详细步骤:
停止容器(可选,但推荐):
docker stop <container_id_or_name>
提交容器为新镜像:
docker commit <container_id_or_name> <backup_image_name>:<tag>
例如:
docker commit my_container my_backup_image:latest
保存镜像为tar文件:
docker save -o <backup_file.tar> <backup_image_name>:<tag>
例如:
docker save -o my_backup_image.tar my_backup_image:latest
加载镜像:
docker load -i <backup_file.tar>
例如:
docker load -i my_backup_image.tar
运行新镜像为容器:
docker run -d --name <new_container_name> <backup_image_name>:<tag>
例如:
docker run -d --name my_restored_container my_backup_image:latest
docker image prune命令清理不必要的镜像。如果你使用Docker Compose管理容器,可以使用以下步骤进行备份:
停止并删除所有服务:
docker-compose down
备份所有服务:
docker-compose exec <service_name> sh -c 'exec tar cvf - /' > <service_name>_backup.tar
例如:
docker-compose exec web sh -c 'exec tar cvf - /' > web_backup.tar
恢复所有服务:
cat <service_name>_backup.tar | docker-compose exec <service_name> sh -c 'exec tar xvf - -C /'
例如:
cat web_backup.tar | docker-compose exec web sh -c 'exec tar xvf - -C /'
通过以上步骤,你可以在CentOS中实现Docker容器的备份和恢复。