Share feedback
Answers are generated based on the documentation.

如何备份和恢复 Docker Desktop 数据

使用此流程可以备份和恢复您的镜像和容器数据。这在您需要重置虚拟机磁盘、将 Docker 环境迁移到新计算机,或从 Docker Desktop 更新或安装失败中恢复时非常有用。

Important

如果您使用卷或绑定挂载来存储容器数据,可能不需要备份容器,但请务必记住创建容器时使用的选项,或使用 Docker Compose 文件以便在重新安装后以相同配置重新创建容器。

如果 Docker Desktop 运行正常

保存数据

  1. 使用 docker container commit 将容器提交为镜像。

    提交容器会将文件系统更改和某些容器配置(如标签和环境变量)存储为本地镜像。请注意,环境变量可能包含敏感信息(如密码或代理认证),因此在将结果镜像推送到注册表时需谨慎。

    另外请注意,附加到容器的卷中的文件系统更改不会包含在镜像中,必须单独备份。

    如果您使用了 命名卷来存储容器数据(如数据库),请参考存储部分的 备份、恢复或迁移数据卷页面。

  2. 使用 docker push 将您在本地构建并希望保留的任何镜像推送到 Docker Hub 注册表

    Tip

    如果您的镜像包含敏感内容, 将仓库可见性设置为私有

    或者,使用 docker image save -o images.tar image1 [image2 ...] 将您希望保留的任何镜像保存到本地 .tar 文件中。

备份数据后,您可以卸载当前版本的 Docker Desktop 并 安装不同版本或重置 Docker Desktop 为出厂默认设置。

恢复数据

  1. 加载您的镜像。

    • 如果您推送到 Docker Hub:

      $ docker pull <my-backup-image>
      
    • 如果您保存了 .tar 文件:

      $ docker image load -i images.tar
      
  2. 如有必要,使用 docker runDocker Compose 重新创建容器。

要恢复卷数据,请参考 备份、恢复或迁移数据卷

如果 Docker Desktop 无法启动

如果 Docker Desktop 无法启动且必须重新安装,您可以直接从磁盘备份其 VM 磁盘和镜像数据。在备份这些文件之前,Docker Desktop 必须完全停止。

  1. 备份 Docker 容器/镜像。

    备份以下文件:

    %LOCALAPPDATA%\Docker\wsl\data\docker_data.vhdx
    

    将其复制到安全位置。

  2. 备份 WSL 发行版。

    如果您运行任何 WSL Linux 发行版(Ubuntu、Alpine 等),请使用 Microsoft 指南 备份它们。

  3. 恢复。

    重新安装 Docker Desktop 后,将 docker_data.vhdx 恢复到相同位置,并在需要时重新导入您的 WSL 发行版。

  1. 备份 Docker 容器/镜像。

    备份以下文件:

    ~/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw
    

    将其复制到安全位置。

  2. 恢复。

    重新安装 Docker Desktop 后,将 Docker.raw 恢复到相同位置。

  1. 备份 Docker 容器/镜像:

    备份以下文件:

    ~/.docker/desktop/vms/0/data/Docker.raw
    

    将其复制到安全位置。

  2. 恢复。

    重新安装 Docker Desktop 后,将 Docker.raw 恢复到相同位置。