Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker checkpoint is restarting the process instead of saving the state. #41639

Open
chenchix opened this issue Nov 5, 2020 · 2 comments
Open
Labels
area/checkpoint Related to (experimental) checkpoint/restore (CRIU) kind/experimental version/19.03

Comments

@chenchix
Copy link

chenchix commented Nov 5, 2020

Once docker start is called, instead of restore the process, it starts from the beggining.

How to test:

docker run -d --name looper2 busybox \
>          /bin/sh -c 'i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done'
abe7a20ad9f6842cfe66762c72c6503188cc836ec4c36ea9648638b53b6701cb
docker logs ab
0
1
2
3
4
5
6
7
8
docker checkpoint create  looper2 checkpoint2

docker start --checkpoint=checkpoint2 looper2
docker logs ab
0
1
2
3
4
5
6
7
8
0
1
2
3

Docker version: Docker version 19.03.8, build afacb8b7f0
Criu version: Version: 3.15
Kernel: Linux codillo 5.4.0-050400-generic #201911242031 SMP Mon Nov 25 01:35:10 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal

@niernzc
Copy link

niernzc commented Jan 16, 2021

I've met the same problem. My machine was Centos7 with Kernel 3.10
Docker Version

Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:48 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.2
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8891c58
  Built:            Mon Dec 28 16:16:13 2020
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

then I solved this problem by upgrading the kernel to 5.10, and pulling the latest code from Git and recompile and install Containerd and Runc
Now Docker Version:

Client: Docker Engine - Community
 Version:           20.10.2
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        2291f61
 Built:             Mon Dec 28 16:17:48 2020
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.2
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8891c58
  Built:            Mon Dec 28 16:16:13 2020
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.4.0-2324-g0ec47b3
  GitCommit:        0ec47b33488d295785a9d1702c9552a491802898
 runc:
  Version:          1.0.0-rc92+dev
  GitCommit:        cf6c074115d00c932ef01dedb3e13ba8b8f964c3
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

NOW My Problem is ,What are the specific requirements for Docker C/R?

@DivyanshuSaxena
Copy link

DivyanshuSaxena commented May 7, 2021

Downgrading docker to 19.03 using the static binaries does the trick. Ref: checkpoint-restore/criu#1365

@thaJeztah thaJeztah added the area/checkpoint Related to (experimental) checkpoint/restore (CRIU) label Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/checkpoint Related to (experimental) checkpoint/restore (CRIU) kind/experimental version/19.03
Projects
None yet
Development

No branches or pull requests

4 participants