Skip to content

Conversation

ChengyuZhu6
Copy link
Member

Fixes: #4483

@ChengyuZhu6 ChengyuZhu6 added this to the v2.1.5 (?) milestone Aug 29, 2025
@ChengyuZhu6 ChengyuZhu6 force-pushed the checkpoint branch 8 times, most recently from b6e106e to fee41f4 Compare September 1, 2025 11:44
@ChengyuZhu6 ChengyuZhu6 marked this pull request as ready for review September 14, 2025 04:09
@ChengyuZhu6 ChengyuZhu6 force-pushed the checkpoint branch 7 times, most recently from 292ceb4 to c4ed970 Compare September 14, 2025 08:36
@ChengyuZhu6
Copy link
Member Author

ChengyuZhu6 commented Sep 14, 2025

# nerdctl run -d --name test-container ghcr.io/stargz-containers/alpine:3.13-org sleep infinity
b2a7213fd10f898f5af65493692aa2d1c18b9abd26fc477cc2c302170398987d

# nerdctl checkpoint create --leave-running=true --checkpoint-dir /tmp/test-checkpoints test-container test-checkpoint
test-checkpoint

# ls /tmp/test-checkpoints/test-checkpoint/
cgroup.img        files.img      ipcns-var-11.img    pages-1.img   tmpfs-dev-49.tar.gz.img  tmpfs-dev-55.tar.gz.img
core-1.img        fs-1.img       mm-1.img            pstree.img    tmpfs-dev-52.tar.gz.img  utsns-12.img
descriptors.json  ids-1.img      mountpoints-13.img  seccomp.img   tmpfs-dev-53.tar.gz.img
fdinfo-2.img      inventory.img  pagemap-1.img       timens-0.img  tmpfs-dev-54.tar.gz.img

@ChengyuZhu6 ChengyuZhu6 force-pushed the checkpoint branch 10 times, most recently from 05cc852 to 61e9bac Compare September 15, 2025 02:35
@ChengyuZhu6 ChengyuZhu6 force-pushed the checkpoint branch 3 times, most recently from 31ce9fc to 3a824b4 Compare September 15, 2025 03:35
@ChengyuZhu6
Copy link
Member Author

ci on rootless failed due to OCI runtime pause failed: cannot toggle freezer: cgroups not configured for container
and
🟠 time="2025-09-15T03:07:50Z" level=fatal msg="runc did not terminate successfully: exit status 1: criu failed: type DUMP errno 0 path= /run/containerd/io.containerd.runtime.v2.task/nerdctl-test/ca57433acf735c5c927ca62388f9febc40345f9f89d73afd2165642e9470187a/criu-dump.log": https://github.com/containerd/nerdctl/actions/runs/17720778867/job/50352542160?pr=4484#:~:text=%7C%20%20%20%20%20%20%20%20%20%7C%20%F0%9F%9F%A0%20time%3D%222025%2D09,configured%20for%20container%22
https://github.com/containerd/nerdctl/actions/runs/17720778853/job/50352678957?pr=4484#:~:text=%7C%20%20%20%20%20%20%20%20%20%7C%20%F0%9F%9F%A0%20time%3D%222025%2D09,criu%2Ddump.log%22

@ChengyuZhu6 ChengyuZhu6 force-pushed the checkpoint branch 7 times, most recently from 4fd28fb to d611488 Compare September 15, 2025 07:10
@AkihiroSuda AkihiroSuda mentioned this pull request Sep 22, 2025
@ChengyuZhu6 ChengyuZhu6 removed this from the v2.1.5 milestone Sep 24, 2025
- Create checkpoints from running containers using containerd APIs
- Support both leave-running and exit modes via --leave-running flag
- Configurable checkpoint directory via --checkpoint-dir flag

Signed-off-by: ChengyuZhu6 <hudson@cyzhu.com>
add unit tests for checkpoint create command.

Signed-off-by: ChengyuZhu6 <hudson@cyzhu.com>
add checkpoint create command reference.

Signed-off-by: ChengyuZhu6 <hudson@cyzhu.com>
install criu in ci to test checkpoint.

Signed-off-by: ChengyuZhu6 <hudson@cyzhu.com>
Flags:
- :whale: `--leave-running`: Leave the container running after checkpoint
- :whale: `checkpoint-dir`: Use a custom checkpoint storage directory

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How to restore a container from a checkpoint?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be accomplished with the command nerdctl start --checkpoint|--checkpoint-dir in the following work: #4477

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you put the start implementation in this PR too? Otherwise it is hard to test this PR.
You can include ls and rm in this PR too

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, you're right. I think I can put the start parts in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Track development: nerdctl checkpoint create
2 participants