Difference between revisions of "Runc"
Jump to navigation
Jump to search
m |
m |
||
| Line 24: | Line 24: | ||
# Show running containers | # Show running containers | ||
sudo runc list | sudo runc list | ||
| + | sudo runc state looper | ||
| + | </pre> | ||
| + | |||
| + | Now the container can be checkpointed: | ||
| + | |||
| + | <pre> | ||
| + | mkdir /tmp/checkpoint | ||
| + | sudo runc checkpoint --image-path /tmp/checkpoint --work-path /tmp/checkpoint looper | ||
| + | </pre> | ||
| + | |||
| + | Once the container is checkpointed it will be no longer visible in <code>runc list</code>. | ||
| + | |||
| + | The following command can be used to restore the container: | ||
| + | |||
| + | <pre> | ||
| + | sudo runc restore --image-path /tmp/checkpoint --work-path /tmp/checkpoint looper | ||
| + | |||
| + | # Show running containers | ||
| + | sudo runc list | ||
| + | sudo runc state looper | ||
</pre> | </pre> | ||
Revision as of 18:40, 9 October 2025
This article provides an overview of CRIU integration with runc and explains how to use it.
Container Checkpoint/Restore
# Create a container rootfs mkdir -p alpine-container/rootfs && cd alpine-container wget https://dl-cdn.alpinelinux.org/alpine/latest-stable/releases/x86_64/alpine-minirootfs-3.22.2-x86_64.tar.gz tar -xzf alpine-minirootfs-3.22.2-x86_64.tar.gz -C rootfs rm -f alpine-minirootfs-3.22.2-x86_64.tar.gz # Create container spec file runc spec # Set looper command sed -i 's/"sh"/"sh", "-c", "i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done"/' config.json # Disable interactive terminal sed -i 's/"terminal": true/"terminal": false/g' config.json # Run container in the background sudo runc run -d looper 0</dev/null 1>/dev/null 2>/dev/null # Show running containers sudo runc list sudo runc state looper
Now the container can be checkpointed:
mkdir /tmp/checkpoint sudo runc checkpoint --image-path /tmp/checkpoint --work-path /tmp/checkpoint looper
Once the container is checkpointed it will be no longer visible in runc list.
The following command can be used to restore the container:
sudo runc restore --image-path /tmp/checkpoint --work-path /tmp/checkpoint looper # Show running containers sudo runc list sudo runc state looper