--all,-a
Checkpoint all running containers.
The default is false.
IMPORTANT:ThisOPTIONdoesnotneedacontainernameorIDasinputargument.--compress,-c=zstd|none|gzip
Specify the compression algorithm used for the checkpoint archive created with the --export,-e OPTION.
Possible algorithms are zstd, none and gzip.
One possible reason to use none is to enable faster creation of checkpoint archives. Not compressing the
checkpoint archive can result in faster checkpoint archive creation.
The default is zstd.
--create-image=image
Create a checkpoint image from a running container. This is a standard OCI image created in the local
image store. It consists of a single layer that contains all of the checkpoint files. The content of this
image layer is in the same format as a checkpoint created with --export. A checkpoint image can be pushed
to a standard container registry and pulled on a different system to enable container migration. In
addition, the image can be exported with podmanimagesave and inspected with podmaninspect. Inspecting
a checkpoint image displays additional information, stored as annotations, about the host environment
used to do the checkpoint:
• io.podman.annotations.checkpoint.name: Human-readable name of the original container.
• io.podman.annotations.checkpoint.rawImageName: Unprocessed name of the image used to create the
original container (as specified by the user).
• io.podman.annotations.checkpoint.rootfsImageID: ID of the image used to create the original
container.
• io.podman.annotations.checkpoint.rootfsImageName: Image name used to create the original
container.
• io.podman.annotations.checkpoint.podman.version: Version of Podman used to create the
checkpoint.
• io.podman.annotations.checkpoint.criu.version: Version of CRIU used to create the checkpoint.
• io.podman.annotations.checkpoint.runtime.name: Container runtime (e.g., runc, crun) used to
create the checkpoint.
• io.podman.annotations.checkpoint.runtime.version: Version of the container runtime used to
create the checkpoint.
• io.podman.annotations.checkpoint.conmon.version: Version of conmon used with the original
container.
• io.podman.annotations.checkpoint.host.arch: CPU architecture of the host on which the checkpoint
was created.
• io.podman.annotations.checkpoint.host.kernel: Version of Linux kernel of the host where the
checkpoint was created.
• io.podman.annotations.checkpoint.cgroups.version: cgroup version used by the host where the
checkpoint was created.
• io.podman.annotations.checkpoint.distribution.version: Version of host distribution on which the
checkpoint was created.
• io.podman.annotations.checkpoint.distribution.name: Name of host distribution on which the
checkpoint was created.
--export,-e=archive
Export the checkpoint to a tar.gz file. The exported checkpoint can be used to import the container on
another system and thus enabling container live migration. This checkpoint archive also includes all
changes to the container's root file-system, if not explicitly disabled using --ignore-rootfs.
--file-locks
Checkpoint a container with file locks. If an application running in the container is using file locks,
this OPTION is required during checkpoint and restore. Otherwise checkpointing containers with file locks
is expected to fail. If file locks are not used, this option is ignored.
The default is false.
--ignore-rootfs
If a checkpoint is exported to a tar.gz file it is possible with the help of --ignore-rootfs to
explicitly disable including changes to the root file-system into the checkpoint archive file.
The default is false.
IMPORTANT:ThisOPTIONonlyworksincombinationwith--export,-e.--ignore-volumes
This OPTION must be used in combination with the --export,-e OPTION. When this OPTION is specified, the
content of volumes associated with the container is not included into the checkpoint tar.gz file.
The default is false.
--keep,-k
Keep all temporary log and statistics files created by CRIU during checkpointing. These files are not
deleted if checkpointing fails for further debugging. If checkpointing succeeds these files are
theoretically not needed, but if these files are needed Podman can keep the files for further analysis.
The default is false.
--latest,-l
Instead of providing the containerID or name, use the last created container. The default is false.
IMPORTANT:ThisOPTIONisnotavailablewiththeremotePodmanclient,includingMacandWindows(excludingWSL2)machines.ThisOPTIONdoesnotneedacontainernameorIDasinputargument.--leave-running,-R
Leave the container running after checkpointing instead of stopping it.
The default is false.
--pre-checkpoint,-P
Dump the container's memory information only, leaving the container running. Later operations supersedes
prior dumps. It only works on runc1.0-rc3 or higher.
The default is false.
The functionality to only checkpoint the memory of the container and in a second checkpoint only write
out the memory pages which have changed since the first checkpoint relies on the Linux kernel's soft-
dirty bit, which is not available on all systems as it depends on the system architecture and the
configuration of the Linux kernel. Podman verifies if the current system supports this functionality and
return an error if the current system does not support it.
--print-stats
Print out statistics about checkpointing the container(s). The output is rendered in a JSON array and
contains information about how much time different checkpoint operations required. Many of the checkpoint
statistics are created by CRIU and just passed through to Podman. The following information is provided
in the JSON array:
• podman_checkpoint_duration: Overall time (in microseconds) needed to create all checkpoints.
• runtime_checkpoint_duration: Time (in microseconds) the container runtime needed to create the
checkpoint.
• freezing_time: Time (in microseconds) CRIU needed to pause (freeze) all processes in the
container (measured by CRIU).
• frozen_time: Time (in microseconds) all processes in the container were paused (measured by
CRIU).
• memdump_time: Time (in microseconds) needed to extract all required memory pages from all
container processes (measured by CRIU).
• memwrite_time: Time (in microseconds) needed to write all required memory pages to the
corresponding checkpoint image files (measured by CRIU).
• pages_scanned: Number of memory pages scanned to determine if they need to be checkpointed
(measured by CRIU).
• pages_written: Number of memory pages actually written to the checkpoint image files (measured
by CRIU).
The default is false.
--tcp-established
Checkpoint a container with established TCP connections. If the checkpoint image contains established TCP
connections, this OPTION is required during restore. Defaults to not checkpointing containers with
established TCP connections.
The default is false.
--with-previous
Check out the container with previous criu image files in pre-dump. It only works on runc1.0-rc3 or
higher.
The default is false.
IMPORTANT:ThisOPTIONisnotavailablewith--pre-checkpoint.
This option requires that the option --pre-checkpoint has been used before on the same container. Without
an existing pre-checkpoint, this option fails.
Also see --pre-checkpoint for additional information about --pre-checkpoint availability on different
systems.