无法在Docker实验中创builddocker检查点

启用docker实验后,我试图通过docker检查点命令将运行的容器移动到另一个主机。 首先,我正在尝试使用以下命令创build检查点:

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 

有没有解决方法或解决方法? 因为它是实验性的function,有什么办法在运行时移动容器的?

CRIU是这个function的外部依赖,如果没有这个function就不行。 执行下面的命令并安装它

 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

看起来像CRIU没有正确安装在您的系统。 你能确认吗?

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

 sudo apt-get install criu 

从源代码构buildCRIU也是可能的。 CRIU是用C编写的,所以安装标准的gcc并且make软件包能够创build二进制文件。 克隆CRIU github回购:

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

这里给出了关于如何构build的进一步指导(CRIU的官方页面)

https://criu.org/Installation