无法在docker experimental

时间:2017-08-12 21:22:55

标签: docker

启用docker experimental后,我试图通过docker checkpoint命令将运行容器移动到另一台主机。首先,我尝试使用以下命令创建检查点:

 docker checkpoint create 52922ace26fa cp

但它失败并出现以下错误:

Error response from daemon: Cannot checkpoint container 52922ace26fa: rpc error: code = 2 desc = exit status 1: "Unable to execute CRIU command: criu\n"

我在ubuntu和centos都尝试过, 这是docker版本:

Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:06:25 2017
 OS/Arch:      linux/amd64
 Experimental: true

这有什么解决方案或解决方法吗? 由于它是实验性功能,有没有办法在运行时移动容器?

2 个答案:

答案 0 :(得分:0)

CRIU是此功能的外部依赖项,没有它就无法工作。执行以下命令并安装

sudo add-apt-repository ppa:criu/ppa
sudo apt-get update
sudo apt-get install -y criu

安装完成后再尝试检查点

有关详细信息,请参阅

https://github.com/moby/moby/blob/v1.13.0-rc4/experimental/checkpoint-restore.md

答案 1 :(得分:0)

似乎CRIU未正确安装在您的系统中。你可以验证吗?

否则,您可以安装(命令):

sudo apt-get install criu

也可以从源代码构建CRIU。 CRIU是用C语言编写的,因此安装标准gccmake包以便能够创建二进制文件。克隆CRIU github repos:

https://github.com/checkpoint-restore/criu

此处给出了关于如何构建的进一步说明(CRIU的官方页面)

https://criu.org/Installation