Docker Checkpoint and Restoration


I am working on the container migration project. I am successful in checkpoint/restoration of simple shell script applications.

But I am facing problem with the restoration of container application running openvpn client in it.

My scenario is as follows:

  1. docker ubuntu 16 container running in Fedora 31 OS.
    Inside the docker container, I am starting the openvpn client service.
    sudo docker run -d --security-opt seccomp:unconfined --privileged --cap-add=ALL -v /lib/modules:/lib/modules -h “xxx” --name=“test” image /bin/sh -c ‘sudo openvpn --config client.ovpn’
  2. container checkpoint is successful
    sudo docker checkpoint create --checkpoint-dir=/home/fedora/Checkpoint/ test checkpoint2
  3. container restoration is failing without much information
    Error response from daemon: OCI runtime restore failed: criu failed: type NOTIFY errno 0

My environment details:
Docker version -
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 16:05:52 2019
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Version: 19.03.4
API version: 1.40 (minimum version 1.12)
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 16:03:41 2019
OS/Arch: linux/amd64
Experimental: true
Version: 1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
Version: 1.0.0-rc9
GitCommit: d736ef14f0288d6993a1845745d6756cfc9ddd5a
Version: 0.18.0
GitCommit: fec3683

criu version - 3.13

runc --version
runc version 1.0.0-rc9
commit: d736ef14f0288d6993a1845745d6756cfc9ddd5a
spec: 1.0.1-dev

I tried running the container with --device=/dev/net/tun:/dev/net/tun:rw : option, -P . But I can’t restore the container successfully even in the same host.

Any help would be appreciated. Thank you.