我正在尝试使用实验性检查点功能来实现机器之间的容器迁移。我在同一台机器上找到了许多检查点和恢复的示例,但我只找到了有关在不同机器之间迁移检查点的文档:
https://circleci.com/blog/checkpoint-and-restore-docker-container-with-criu/
但是,它使用的命令已经过时,并且 docker checkpoint restore 不再可用。相反,应该使用 docker start --checkpoint 语法。我已经完成了我的用例如下:
主机 1:有一个 docker 容器正在运行,我在 $CHECKPOINT_FOLDER 中的某个位置执行检查点,该位置是具有 docker 的不同机器之间的共享文件夹,checkpoint create --checkpoint-dir=$CHECKPOINT_FOLDER $NAME checkpoint-$NAME
其中 $NAME 是正在运行的容器的名称(在本例中为 13)。
主机 2:可以访问 $CHECKPOINT_FOLDER 文件夹,我可以看到创建的文件夹。我docker start --checkpoint-dir $CHECKPOINT_FOLDER --checkpoint checkpoint-$NAME $NAME
再次运行 $NAME 与在主机 1 (one-13) 上运行的容器的名称相同的地方。但是我收到此错误:
没有这样的容器:1-13
这让我觉得我必须在开始检查点之前创建一个容器,但是,我该怎么做呢?不应该从检查点自动创建吗?如果没有,有没有办法将检查点传递给 docker create 命令?这个用例的工作流程是什么?
谢谢你。