Man page - podman-container-checkpoint(1)
Packages contains this manual
- podman-farm-update(1)
- podman-unmount(1)
- podman-pod-logs(1)
- podman-generate-spec(1)
- podman-image-untag(1)
- podman-machine-reset(1)
- podman-container-start(1)
- podman-image-diff(1)
- podman-secret(1)
- podman-image-history(1)
- podman-container-create(1)
- podman-volume-inspect(1)
- podman-generate-kube(1)
- podman-container-kill(1)
- podman-system-check(1)
- podman-rename(1)
- podman-container-top(1)
- podman-image-inspect(1)
- podman-image-save(1)
- podman-machine-inspect(1)
- podman-manifest-add(1)
- podman-image-pull(1)
- podman-container-init(1)
- podman-volume-exists(1)
- podman-image-build(1)
- podman-completion(1)
- podman-run(1)
- podman-login(1)
- podman-volume-unmount(1)
- podman-artifact(1)
- podman-system-connection-default(1)
- podman-pod-restart(1)
- podman-container-ls(1)
- podman-machine-stop(1)
- podman-system-connection-add(1)
- podman-kube-down(1)
- podman-pod-create(1)
- podman-container-update(1)
- podman-volume-mount(1)
- podman-pull(1)
- podman-image-list(1)
- podman-generate-systemd(1)
- podman-pod-stop(1)
- podman-container-inspect(1)
- podman-network-disconnect(1)
- podman(1)
- podman-container-cleanup(1)
- podman-volume-reload(1)
- podman-create(1)
- podman-kube-play(1)
- podman-manifest-create(1)
- podman-artifact-pull(1)
- podman-pod-inspect(1)
- podman-generate(1)
- podman-image-scp(1)
- podman-image-load(1)
- podman-system-prune(1)
- podman-export(1)
- podman-image-ls(1)
- podman-network(1)
- quadlet(5)
- podman-umount(1)
- podman-system(1)
- podman-pod-top(1)
- podman-kube-generate(1)
- podman-rm(1)
- podman-volume-import(1)
- podman-container-stats(1)
- podman-version(1)
- podman-volume(1)
- podman-kill(1)
- podman-history(1)
- podman-rootless(7)
- podman-container-prune(1)
- podman-save(1)
- podman-machine-os-apply(1)
- podman-help(1)
- podman-image(1)
- podman-manifest-rm(1)
- podman-play-kube(1)
- podman-container-pause(1)
- podman-image-trust(1)
- podman-init(1)
- podman-image-push(1)
- podman-container-attach(1)
- podman-container-restore(1)
- podman-stop(1)
- podman-container-logs(1)
- podman-farm-create(1)
- podman-network-update(1)
- podman-machine-info(1)
- podman-pod-clone(1)
- podman-network-exists(1)
- podman-machine-start(1)
- podman-image-exists(1)
- podman-container-checkpoint(1)
- podman-attach(1)
- podman-container-cp(1)
- podman-machine-init(1)
- podman-logs(1)
- podman-network-rm(1)
- podman-start(1)
- podman-pod-pause(1)
- podman-port(1)
- podman-manifest-remove(1)
- podman-network-create(1)
- podman-manifest(1)
- podman-system-connection-remove(1)
- podman-image-search(1)
- podman-secret-create(1)
- podman-pod-unpause(1)
- podman-systemd.unit(5)
- podman-container-port(1)
- podman-pod-stats(1)
- podman-image-tree(1)
- podman-manifest-push(1)
- podman-artifact-add(1)
- podman-container-umount(1)
- podman-container-ps(1)
- podman-container-unpause(1)
- podmansh(1)
- podman-manifest-exists(1)
- podman-top(1)
- podman-info(1)
- podman-network-inspect(1)
- podman-container-clone(1)
- podman-image-tag(1)
- podman-container(1)
- podman-stats(1)
- podman-artifact-rm(1)
- podman-farm-list(1)
- podman-container-stop(1)
- podman-images(1)
- podman-container-commit(1)
- podman-secret-rm(1)
- podman-container-unmount(1)
- podman-volume-prune(1)
- podman-auto-update(1)
- podman-image-unmount(1)
- podman-tag(1)
- podman-untag(1)
- podman-container-export(1)
- podman-kube-apply(1)
- podman-system-df(1)
- podman-secret-ls(1)
- podman-image-prune(1)
- podman-manifest-annotate(1)
- podman-container-runlabel(1)
- podman-container-diff(1)
- podman-container-restart(1)
- podman-commit(1)
- podman-update(1)
- podman-events(1)
- podman-pause(1)
- podman-container-rename(1)
- podman-exec(1)
- podman-system-migrate(1)
- podman-rmi(1)
- podman-network-connect(1)
- podman-diff(1)
- podman-system-connection-rename(1)
- podman-system-events(1)
- podman-container-list(1)
- podman-pod-exists(1)
- podman-kube(1)
- podman-image-rm(1)
- podman-machine-rm(1)
- podman-pod-start(1)
- podman-healthcheck(1)
- podman-farm-build(1)
- podman-machine-ssh(1)
- podman-artifact-ls(1)
- podman-image-mount(1)
- podman-search(1)
- podman-machine-list(1)
- podman-pod(1)
- podman-restart(1)
- podman-logout(1)
- podman-pod-rm(1)
- podman-volume-create(1)
- podman-network-prune(1)
- podman-container-rm(1)
- podman-unshare(1)
- podman-secret-inspect(1)
- podman-image-sign(1)
- podman-container-wait(1)
- podman-system-connection-list(1)
- podman-build(1)
- podman-healthcheck-run(1)
- podman-pod-kill(1)
- podman-network-reload(1)
- podman-mount(1)
- podman-machine-ls(1)
- podman-secret-exists(1)
- podman-pod-ps(1)
- podman-system-connection(1)
- podman-unpause(1)
- podman-system-renumber(1)
- podman-load(1)
- podman-container-run(1)
- podman-system-reset(1)
- podman-machine-set(1)
- podman-image-umount(1)
- podman-volume-ls(1)
- podman-pod-prune(1)
- podman-inspect(1)
- podman-push(1)
- podman-system-service(1)
- podman-container-exists(1)
- podman-artifact-push(1)
- podman-artifact-inspect(1)
- podman-farm(1)
- podman-machine-os(1)
- podman-container-exec(1)
- podman-wait(1)
- podman-ps(1)
- podman-image-import(1)
- podman-manifest-inspect(1)
- podman-machine(1)
- podman-farm-remove(1)
- podman-container-mount(1)
- podman-volume-rm(1)
- podman-cp(1)
- podman-troubleshooting(7)
- podman-import(1)
- podman-system-info(1)
- podman-network-ls(1)
- podman-volume-export(1)
apt-get install podman
Manual
podman-container-checkpoint
NAMESYNOPSIS
DESCRIPTION
OPTIONS
--all, -a
--compress, -c=zstd | none | gzip
--create-image=image
--export, -e=archive
--file-locks
--ignore-rootfs
--ignore-volumes
--keep, -k
--latest, -l
--leave-running, -R
--pre-checkpoint, -P
--print-stats
--tcp-established
--with-previous
EXAMPLES
SEE ALSO
HISTORY
NAME
podman-container-checkpoint - Checkpoint one or more running containers
SYNOPSIS
podman container checkpoint [ options ] container [ container ...]
DESCRIPTION
podman container checkpoint checkpoints all the processes in one or more containers . A container can be restored from a checkpoint with podman-container-restore . The container IDs or names are used as input.
IMPORTANT: If the container is using systemd as entrypoint checkpointing the container might not be possible.
OPTIONS
--all, -a
Checkpoint all
running
containers
.
The default is
false
.
IMPORTANT: This OPTION does not need a container name or ID
as input argument.
--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 podman image save and inspected with podman inspect . 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: This OPTION only works in combination with
--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 container ID or name , use the last created container . The default is false . IMPORTANT: This OPTION is not available with the remote Podman client, including Mac and Windows (excluding WSL2) machines. This OPTION does not need a container name or ID as input argument.
--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
runc 1.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
runc 1.0-rc3
or
higher
.
The default is
false
.
IMPORTANT: This OPTION is not available with
--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.
EXAMPLES
Make a checkpoint for the container "mywebserver".
# podman container checkpoint mywebserver
Create a checkpoint image for the container "mywebserver".
# podman container checkpoint --create-image mywebserver-checkpoint-1 mywebserver
Dumps the containerās memory information of the latest container into an archive.
# podman container checkpoint -P -e pre-checkpoint.tar.gz -l
Keep the containerās memory information from an older dump and add the new containerās memory information.
# podman container checkpoint --with-previous -e checkpoint.tar.gz -l
Dump the containerās memory information of the latest container into an archive with the specified compress method.
# podman
container checkpoint -l --compress=none --export=dump.tar
# podman container checkpoint -l --compress=gzip
--export=dump.tar.gz
SEE ALSO
podman(1) , podman-container-restore(1) , criu(8)
HISTORY
September 2018, Originally compiled by Adrian Reber areber@redhat.com ⨠mailto:areber@redhat.comā©