Docker ? CRIU是Linux操作系统的软件工具。使用此工具,您可以冻结正在运行的应用程序(或其一部分),并将其作为磁盘上的文件集合进行检查点。然后,您可以使用这些文件还原应用程序,并完全按照冻结期间的方式运行它

Docker ? CRIU是Linux操作系统的软件工具。使用此工具,您可以冻结正在运行的应用程序(或其一部分),并将其作为磁盘上的文件集合进行检查点。然后,您可以使用这些文件还原应用程序,并完全按照冻结期间的方式运行它,docker,migration,containers,Docker,Migration,Containers,检查点/恢复的应用 通过此操作,您可以检查应用程序并将文件(从检查点)复制到目标计算机,然后使用称为实时迁移的文件启动应用程序 您可以获取应用程序的检查点,并将应用程序恢复到以前的状态,即快照 “检查点和还原”可用于调试应用程序。应用程序的所有进程都在bug出现之前进行检查,然后重新启动(可能在单个主机上)进行调试 优化引导时间:检查操作系统的引导过程,下次可以使用此检查点启动操作系统 目前,CRIU是唯一可用于检查点和还原容器的工具。我将向您展示上述操作的简单步骤 步骤1:启用实验功能(包

检查点/恢复的应用

  • 通过此操作,您可以检查应用程序并将文件(从检查点)复制到目标计算机,然后使用称为实时迁移的文件启动应用程序

  • 您可以获取应用程序的检查点,并将应用程序恢复到以前的状态,即快照

  • “检查点和还原”可用于调试应用程序。应用程序的所有进程都在bug出现之前进行检查,然后重新启动(可能在单个主机上)进行调试

  • 优化引导时间:检查操作系统的引导过程,下次可以使用此检查点启动操作系统

目前,CRIU是唯一可用于检查点和还原容器的工具。我将向您展示上述操作的简单步骤

步骤1:启用实验功能(包括CRIU)

步骤2:让我们部署一个简单的容器来打印数字

docker run -d --name looper --security-opt seccomp:unconfined busybox  \
         /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done'
步骤3:让我们通过打印日志来验证应用程序是否正在运行

 docker logs looper
第4步:让我们用下面的
Docker
命令检查这个容器。检查点的名称为“checkpoint1”。我们将使用此名称还原容器

docker checkpoint create looper checkpoint1
步骤4:您可以验证目录中的检查点

/var/lib/docker/containers/<container-ID>/checkpoints/<checkpoint name>/
第6步:如何验证?在步骤5之前和之后打印容器的日志

(容器迁移)如何在不同VM中恢复容器? 解决方案是将(容器的)检查点文件复制到目标节点,并使用它们恢复容器。目标节点应该让Docker以实验模式运行

我在此附上一篇关于Docker集装箱迁移的最新论文。你在找这份报纸


您能更清楚地理解“迁移”的含义吗?@jonasheinisch将容器从一个虚拟机发送到另一个虚拟机。您能更清楚地理解“迁移”的含义吗?@jonasheinisch将容器从一个虚拟机发送到另一个虚拟机。
 docker logs looper
docker checkpoint create looper checkpoint1
/var/lib/docker/containers/<container-ID>/checkpoints/<checkpoint name>/
docker start --checkpoint checkpoint1 looper