dockerwindows-subsystem-for-linuxcriu

Docker checkpoint can't find crui after crui has been installed in WSL2


I am attempting to use docker checkpoint in my Ubuntu 18 WSL2 environment on a container that was started with docker compose.

The command I am using is docker checkpoint create --checkpoint-dir=./states main-1 statename.

The error I get back is:

Error response from daemon: Cannot checkpoint container main-1: runc did not terminate successfully: exit status 1: CRIU version check failed: exec: "criu": executable file not found in $PATH path= /var/run/desktop-containerd/daemon/io.containerd.runtime.v2.task/moby/fc9b7b3a00b6208753653f31250fb48af8500d22c7889173e7b3276070b7ce30/criu-dump.log: unknown

I installed criu into my WSL using these commands:

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

I know that criu is installed because I can run the executable:

service@laptop1: ~/$ criu

Usage:
  criu dump|pre-dump -t PID [<options>]
  criu restore [<options>]
  criu check [--feature FEAT]
  criu page-server
  criu service [<options>]
  criu dedup
  criu lazy-pages -D DIR [<options>]

Commands:
  dump           checkpoint a process/tree identified by pid
  pre-dump       pre-dump task(s) minimizing their frozen time
  restore        restore a process/tree
  check          checks whether the kernel support is up-to-date
  page-server    launch page server
  service        launch service
  dedup          remove duplicates in memory dump
  cpuinfo dump   writes cpu information into image file
  cpuinfo check  validates cpu information read from image file

Try -h|--help for more info

Output of which criu: /usr/sbin/criu

I have also made sure that I have enabled experimental features for docker.

Please let me know if theres anymore info I can provide. Thanks!

I also uninstalled and reinstalled criu and got the same result


Solution

  • This was due to not running criu as root sudo criu