diff --git a/docs/checkpoint-restore.md b/docs/checkpoint-restore.md new file mode 100644 index 00000000000..80ec46bd681 --- /dev/null +++ b/docs/checkpoint-restore.md @@ -0,0 +1,50 @@ +# Checkpoint and Restore # + +For a basic description about checkpointing and restoring containers with +`runc` please see [runc-checkpoint(8)](../man/runc-checkpoint.8.md) and +[runc-restore(8)](../man/runc-restore.8.md). + +## Checkpoint/Restore Annotations ## + +In addition to specifying options on the command-line like it is described +in the man-pages (see above), it is also possible to influence CRIU's +behaviour using CRIU configuration files. For details about CRIU's +configuration file support please see [CRIU's wiki](https://criu.org/Configuration_files). + +In addition to CRIU's default configuration files `runc` tells CRIU to +also evaluate the file `/etc/criu/runc.conf`. Using the annotation +`org.criu.config` it is, however, possible to change this additional +CRIU configuration file. + +If the annotation `org.criu.config` is set to an empty string `runc` +will not pass any additional configuration file to CRIU. With an empty +string it is therefore possible to disable the additional CRIU configuration +file. This can be used to make sure that no additional configuration file +changes CRIU's behaviour accidentally. + +If the annotation `org.criu.config` is set to a non-empty string `runc` will +pass that string to CRIU to be evaluated as an additional configuration file. +If CRIU cannot open this additional configuration file, it will ignore this +file and continue. + +### Annotation Example to disable additional CRIU configuration file ### + +``` +{ + "ociVersion": "1.0.0", + "annotations": { + "org.criu.config": "" + }, + "process": { +``` + +### Annotation Example to set a specific CRIU configuration file ### + +``` +{ + "ociVersion": "1.0.0", + "annotations": { + "org.criu.config": "/etc/special-runc-criu-options" + }, + "process": { +``` diff --git a/man/runc-checkpoint.8.md b/man/runc-checkpoint.8.md index 4c81fd4997f..ffffa4e3087 100644 --- a/man/runc-checkpoint.8.md +++ b/man/runc-checkpoint.8.md @@ -18,8 +18,11 @@ checkpointed. --tcp-established allow open tcp connections --ext-unix-sk allow external unix sockets --shell-job allow shell jobs + --lazy-pages use userfaultfd to lazily restore memory pages + --status-fd value criu writes \0 to this FD once lazy-pages is ready --page-server value ADDRESS:PORT of the page server --file-locks handle file locks, for safety --pre-dump dump container's memory information only, leave the container running after this --manage-cgroups-mode value cgroups mode: 'soft' (default), 'full' and 'strict' --empty-ns value create a namespace, but don't restore its properties + --auto-dedup enable auto deduplication of memory images