在CentOS系統下,使用Docker進行備份和恢復主要涉及到兩個方面:備份Docker鏡像、容器以及卷(volume)的數據。以下是詳細的步驟:
列出所有鏡像
docker images
導出鏡像為tar文件
使用docker save
命令將鏡像導出為tar文件。
docker save -o <output-file.tar> <image-name>:<tag>
例如:
docker save -o my-image.tar my-image:latest
壓縮備份文件(可選) 如果需要,可以使用gzip壓縮導出的tar文件。
gzip my-image.tar
解壓縮備份文件(如果之前壓縮過)
gunzip my-image.tar.gz
導入鏡像
使用docker load
命令將tar文件導入為Docker鏡像。
docker load -i <input-file.tar>
例如:
docker load -i my-image.tar
列出所有容器
docker ps -a
導出容器為tar文件
使用docker export
命令將容器導出為tar文件。
docker export -o <output-file.tar> <container-id-or-name>
例如:
docker export -o my-container.tar my-container
導入容器
使用docker import
命令將tar文件導入為新的Docker容器。
docker import <input-file.tar> <new-image-name>:<tag>
例如:
docker import my-container.tar my-new-container:latest
啟動恢復的容器
docker start <new-container-id-or-name>
列出所有卷
docker volume ls
備份卷數據
使用docker cp
命令將卷數據復制到主機文件系統中。
docker cp <volume-name>:/ <backup-path>
例如:
docker cp my-volume:/ /backup/my-volume
docker cp
命令將備份的數據復制回容器中的卷。docker cp <backup-path>/<volume-name>:/ <container-id-or-name>:/<volume-name>
例如:docker cp /backup/my-volume my-container:/my-volume
通過以上步驟,你可以在CentOS系統下有效地備份和恢復Docker鏡像、容器以及卷的數據。