在CentOS系統中備份Docker容器、鏡像、卷和網絡,可以按照以下步驟進行:
列出所有容器:
docker ps -a
停止并導出容器:
對于每個需要備份的容器,先停止它,然后使用docker export
命令導出為tar文件。
docker stop <container_id_or_name>
docker export <container_id_or_name> > <backup_file>.tar
備份所有容器: 可以使用腳本來自動化這個過程。
docker ps -a -q | while read container_id; do
docker stop $container_id
docker export $container_id > "${container_id}_backup.tar"
done
列出所有鏡像:
docker images
導出鏡像:
使用docker save
命令將鏡像導出為tar文件。
docker save <image_id_or_name> > <image_backup>.tar
備份所有鏡像: 可以使用腳本來自動化這個過程。
docker images -q | while read image_id; do
docker save $image_id > "${image_id}_backup.tar"
done
列出所有卷:
docker volume ls
備份卷數據:
使用docker cp
命令將卷數據復制到主機上的一個目錄中。
docker volume ls | while read volume_name; do
docker cp /var/lib/docker/volumes/$volume_name/_data /path/to/backup/$volume_name
done
Docker網絡通常不需要單獨備份,因為它們是輕量級的,并且可以通過重新創建來恢復。
導入容器:
使用docker import
命令將tar文件導入為新的鏡像。
cat <container_backup>.tar | docker import - <new_image_name>
運行新鏡像:
docker run -d --name <new_container_name> <new_image_name>
cat <image_backup>.tar | docker import - <new_image_name>
docker cp /path/to/backup/$volume_name/_data /var/lib/docker/volumes/$volume_name/_data
通過以上步驟,你可以在CentOS系統中有效地備份和恢復Docker容器、鏡像和卷。