无法在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的官方页面)