如何备份和恢复您的 Docker Desktop 数据

使用此过程备份和恢复您的镜像和容器数据。这在您希望重置 VM 磁盘、将 Docker 环境移动到新计算机,或从 Docker Desktop 更新或安装失败中恢复时非常有用。

重要

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

如果 Docker Desktop 正常运行

保存您的数据

  1. 使用 docker container commit 将您的容器提交到镜像。

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

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

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

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

    提示

    或者,使用 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 恢复到相同位置。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.