如何备份和恢复 Docker Desktop 数据
使用此流程可以备份和恢复您的镜像和容器数据。这在您需要重置虚拟机磁盘、将 Docker 环境迁移到新计算机,或从 Docker Desktop 更新或安装失败中恢复时非常有用。
Important如果您使用卷或绑定挂载来存储容器数据,可能不需要备份容器,但请务必记住创建容器时使用的选项,或使用 Docker Compose 文件以便在重新安装后以相同配置重新创建容器。
如果 Docker Desktop 运行正常
保存数据
-
使用
docker container commit将容器提交为镜像。提交容器会将文件系统更改和某些容器配置(如标签和环境变量)存储为本地镜像。请注意,环境变量可能包含敏感信息(如密码或代理认证),因此在将结果镜像推送到注册表时需谨慎。
另外请注意,附加到容器的卷中的文件系统更改不会包含在镜像中,必须单独备份。
如果您使用了 命名卷来存储容器数据(如数据库),请参考存储部分的 备份、恢复或迁移数据卷页面。
-
使用
docker push将您在本地构建并希望保留的任何镜像推送到 Docker Hub 注册表。Tip如果您的镜像包含敏感内容, 将仓库可见性设置为私有。
或者,使用
docker image save -o images.tar image1 [image2 ...]将您希望保留的任何镜像保存到本地.tar文件中。
备份数据后,您可以卸载当前版本的 Docker Desktop 并 安装不同版本或重置 Docker Desktop 为出厂默认设置。
恢复数据
-
加载您的镜像。
-
如果您推送到 Docker Hub:
$ docker pull <my-backup-image> -
如果您保存了
.tar文件:$ docker image load -i images.tar
-
-
如有必要,使用
docker run或 Docker Compose 重新创建容器。
要恢复卷数据,请参考 备份、恢复或迁移数据卷。
如果 Docker Desktop 无法启动
如果 Docker Desktop 无法启动且必须重新安装,您可以直接从磁盘备份其 VM 磁盘和镜像数据。在备份这些文件之前,Docker Desktop 必须完全停止。
-
备份 Docker 容器/镜像。
备份以下文件:
%LOCALAPPDATA%\Docker\wsl\data\docker_data.vhdx将其复制到安全位置。
-
备份 WSL 发行版。
如果您运行任何 WSL Linux 发行版(Ubuntu、Alpine 等),请使用 Microsoft 指南 备份它们。
-
恢复。
重新安装 Docker Desktop 后,将
docker_data.vhdx恢复到相同位置,并在需要时重新导入您的 WSL 发行版。
-
备份 Docker 容器/镜像。
备份以下文件:
~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw将其复制到安全位置。
-
恢复。
重新安装 Docker Desktop 后,将
Docker.raw恢复到相同位置。
-
备份 Docker 容器/镜像:
备份以下文件:
~/.docker/desktop/vms/0/data/Docker.raw将其复制到安全位置。
-
恢复。
重新安装 Docker Desktop 后,将
Docker.raw恢复到相同位置。