如何备份和恢复 Docker 容器?


Docker 允许我们自动化构建和部署应用程序的过程。它还允许我们创建一个打包的环境来运行应用程序,这使得它易于移植和轻量级,同时也允许我们跟踪版本。所有这些都是通过 Docker 容器实现的。它有助于使应用程序与平台无关。

假设我们在我们的机器上运行一个 docker 容器,并且我们想要拍摄该容器的快照或保留备份,以便在紧急情况下,如果我们想要回滚更改或使用之前的快照执行容器,我们可以轻松地使用存储的备份来做到这一点。因此,备份和恢复 docker 容器可以成为项目的重要组成部分。

在本文中,我们将学习如何使用某些命令来备份和恢复 Docker 容器。我们还需要注意,本文中用于备份 docker 容器的过程不适用于使用单独数据卷的容器。要备份那些使用单独数据卷的 docker 容器,我们需要为每个数据卷创建单独的备份。

  • 备份 Docker 容器

首先,为了备份 docker 容器,我们需要该特定容器的容器 ID。我们将使用 ps 命令获取所有正在运行的容器的容器 ID,并复制我们需要备份的那个。

查看下面的命令:

sudo docker ps −a

之后,复制要创建备份的 docker 容器的容器 ID。要创建 docker 容器的快照,我们使用 docker commit 命令。Docker commit 命令的格式为:

sudo docker commit −p <CONTAINER_ID> <BACKUP_NAME>

示例

sudo docker commit −p 5c2f44fbb535 backup-ubuntu

要将镜像保存为本地机器上的 tar 文件,可以使用此命令。

sudo docker save −o ∽/backup−ubuntu.tar backup−ubuntu

使用此命令检查保存的 tar 文件。

sudo ls −l ∽/backup−ubuntu.tar

您也可以选择将镜像备份直接推送到 docker 注册表。使用此命令执行此操作。将用户名替换为您的 docker hub 用户名。

sudo docker login
sudo docker push backup−ubuntu:tag
  • 恢复 Docker 容器

创建 docker 容器的备份后,如果要恢复容器以使用它,以下是您可以执行的操作。

如果您已将 tar 文件保存在主机机器中,则可以使用 docker load 命令将其恢复。使用以下命令执行此操作。

sudo docker load −i ∽/backup-ubuntu.tar

要确认镜像是否已成功恢复,可以使用以下命令列出所有镜像。

sudo docker images

如果您已将备份的镜像推送到 docker 注册表,则可以使用以下命令将其拉回。

sudo docker pull backup-ubuntu:tag

在本地机器上恢复镜像后,可以使用 docker run 命令运行恢复的 docker 镜像的新实例。可以使用以下命令执行此操作。

sudo docker run −ti backup−ubuntu:tag

在本文中,我们学习了如何备份和恢复 docker 容器。如果您想将运行在主机机器上的 docker 容器迁移到另一台机器,可以使用这两个过程(备份和恢复)的组合来执行此操作。如果您已创建镜像的备份并将其推送到 docker 注册表,则只需登录目标机器并拉取备份的镜像即可。如果您已创建 tar 文件来备份容器,则可以将 tar 文件复制粘贴到目标机器上,并使用 docker load 命令加载镜像,然后使用 docker run 命令执行容器。

更新于:2020年10月27日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告