备份镜像
使用 docker save
将镜像保存为 tar 文件:
docker save -o my-image.tar my-image:latest
备份容器
docker export -o my-container.tar my-container
docker commit my-container my-backup-image
docker save -o my-backup-image.tar my-backup-image
备份数据卷
docker volume ls
my-volume
):docker run --rm -v my-volume:/data busybox tar czvf /backup/my-volume.tar.gz /data
tar czvf /backup/my-volume.tar.gz /path/on/host
备份网络配置
备份 /etc/docker/network
目录:
tar czvf docker-networks.tar.gz /etc/docker/network
备份Docker数据目录(可选)
备份 /var/lib/docker
(需停止Docker服务):
sudo tar czvf docker-data.tar.gz /var/lib/docker
恢复镜像
docker load -i my-image.tar
恢复容器
docker run -d --name my-restored-container my-image:latest
docker import my-container.tar my-new-image
docker run -d --name my-restored-container my-new-image
恢复数据卷
docker volume create my-volume
tar xzvf /backup/my-volume.tar.gz -C $(docker volume inspect my-volume --format '{{.Mountpoint}}')
tar xzvf /backup/my-volume.tar.gz -C /path/on/host
恢复网络配置
tar xzvf docker-networks.tar.gz -C /
sudo systemctl restart docker
恢复Docker数据目录(可选)
sudo tar xzvf docker-data.tar.gz -C /
-v
挂载)备份重要数据,避免直接备份容器文件系统。sudo systemctl stop docker
),避免数据不一致。参考来源: