首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker容器迁移

Docker容器迁移
EN

Stack Overflow用户
提问于 2017-02-27 22:12:03
回答 1查看 775关注 0票数 3

我正在尝试使用实验性的检查点功能来实现机器之间的容器迁移。我在同一台机器上找到了许多检查点和恢复的例子,但我只找到了关于在不同机器之间迁移检查点的文档:

https://circleci.com/blog/checkpoint-and-restore-docker-container-with-criu/

但是,它使用的命令已过时,docker检查点恢复不再可用。相反,应该使用docker start --checkpoint语法。我的用例如下:

主机1:有一个停靠容器,我在$CHECKPOINT_FOLDER中的一个位置运行了一个检查点,这是具有停靠checkpoint create --checkpoint-dir=$CHECKPOINT_FOLDER $NAME checkpoint-$NAME的不同机器之间的共享文件夹,其中$NAME是正在运行的容器的名称(在本例中为1-13)。

主机2:可以访问$CHECKPOINT_FOLDER文件夹,我可以看到创建的文件夹。我运行docker start --checkpoint-dir $CHECKPOINT_FOLDER --checkpoint checkpoint-$NAME $NAME,其中$NAME与在主机1(1-13)上运行的容器的名称相同。然而,我得到了这个错误:

没有这样的容器:1-13

这让我认为我必须在启动检查点之前创建一个容器,但是,我该如何做呢?不应该从检查点自动创建吗?如果没有,有没有办法将检查点传递给docker create命令?这个用例的工作流程是什么?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-03-18 11:34:19

在目标主机上恢复容器之前,您需要创建一个容器:

代码语言:javascript
复制
 sudo docker create --name $NAME <container-image>

创建容器容器是为了确保下载了基本镜像并分配了磁盘空间,您可以在/var/lib/ $NAME /$NAME/中签入。

然后,您可以使用$CHECKPOINT_FOLDER中的共享转储文件恢复它

代码语言:javascript
复制
 sudo docker start --checkpoint=checkpoint-$NAME --checkpoint-dir=$CHECKPOINT_FOLDER $NAME

或特别使用检查点名称

代码语言:javascript
复制
 sudo docker start --checkpoint=checkpoint-one-13 --checkpoint-dir=$CHECKPOINT_FOLDER $NAME
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42487859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档