使用CRIU进行Docker Checkpoint / Restore - 内核不支持PTRACE_O_SUSPEND_SECCOMP

时间:2018-03-14 15:48:53

标签: docker centos7 rhel7 checkpointing

我试图用CRIU(https://criu.org/Docker)做一个hello-world的docker checkpoint / restore示例。

以下是criu check --all

的输出
Error (criu/cr-check.c:648): Kernel doesn't support 
PTRACE_O_SUSPEND_SECCOMP
Error (criu/cr-check.c:692): Dumping seccomp filters not supported: 
Input/output error
Error (criu/cr-check.c:919): cgroupns not supported. This is not fatal.
Looks good but some kernel features are missing
which, depending on your process tree, may cause
dump or restore failure.

我在实际创建检查点时遇到了麻烦,但它并没有停止正在运行的容器,而是说它创建了检查点。我认为这是因为--all报告了上述错误。当然,此后,当我去恢复时,它实际上并没有恢复。

我看到底部有多个内核补丁需要支持CRIU和Docker。 RHEL7.4是否支持这些补丁?我发现有关内核补丁的最佳讨论是:https://trello.com/c/CqLRhFSk/91-follow-up-on-criu-checkpoint-restart-in-userspace-support-and-test-basic-scenarios-snapshot-restore

我目前的环境:

  • RHEL 7.4
  • Docker版本17.12.0-ce,build c97c6d6
  • 运行centos 7.4 docker image作为基础

1 个答案:

答案 0 :(得分:0)

经过一番挖掘,我在Moby上发现了以下未解决的问题:

降级到docker-ce-17.03解决了这个问题。