如何备份和恢复 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 命令执行容器。