在CentOS系统上,备份和恢复Docker数据是一个重要的任务,以确保数据的安全性和可恢复性。以下是详细的备份与恢复方法:
列出所有运行中的容器:
docker ps
导出容器:
docker export <container_id> > <backup_file.tar>
例如,导出名为mycontainer
的容器:
docker export mycontainer > mycontainer.tar
备份所有运行中的容器:
docker ps -q | xargs docker export > running_containers.tar
列出所有镜像:
docker images
保存镜像到tar文件:
docker save <image_id_or_name> > <backup_file.tar>
例如,备份名为myimage
的镜像:
docker save myimage > myimage.tar
备份所有镜像:
docker images -q | xargs docker save > all_images.tar
docker volume ls
docker cp <volume_name>:/ <backup-path>
例如,备份名为myvolume
的卷:docker cp myvolume:/ /backup/myvolume
docker network ls
tar -czvf docker_networks.tar.gz /etc/docker/network
加载镜像:
docker load <input-file.tar>
例如,从myimage.tar
加载镜像:
docker load -i myimage.tar
恢复所有镜像:
cat all_images.tar | docker load
导入容器:
docker import <input-file.tar> <new-image-name>:<tag>
例如,从mycontainer.tar
导入容器:
docker import mycontainer.tar mynewcontainer:latest
恢复所有运行中的容器:
cat running_containers.tar | docker load
docker run -d --name new_container docker cp new_container:/path/to/volume /host/path/to/backup
docker cp /host/path/to/backup/<volume_name>:/<volume_name>
例如,恢复名为myvolume
的卷:docker cp /backup/myvolume mycontainer:/myvolume
tar -xzvf docker_networks.tar.gz -C /
希望这些步骤能帮助您在CentOS上成功备份和恢复Docker数据!