Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
podman-con...-checkpoint(1) General Commands Manualpodman-con...-checkpoint(1)

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 checkpoint-
       ing 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 cre-
       ated with the --export, -e OPTION. Possible algorithms are  zstd,  none
       and gzip.
       One  possible reason to use none	is to enable faster creation of	check-
       point 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	 --ex-
       port. A checkpoint image	can be pushed to a standard container registry
       and  pulled on a	different system to enable container migration.	In ad-
       dition, 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 con-
	 tainer	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 dis-
	 tribution on which the	checkpoint was created.

   --export, -e=archive
       Export the checkpoint to	an archive. The	archive	type is	specified with
       --compress. 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 an archive 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 archive.
       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  theoreti-
       cally  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	avail-
       able with the remote Podman client, including Mac and Windows  (exclud-
       ing 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.
       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 ar-
       chitecture 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	check-
	 point image files (measured by	CRIU).

       The default is false.

   --tcp-established
       Checkpoint a container with established TCP connections.	If the	check-
       point  image  contains  established TCP connections, this OPTION	is re-
       quired 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 be-
       fore on the same	container. Without an  existing	 pre-checkpoint,  this
       option fails.

       Also see	--pre-checkpoint for additional	information about --pre-check-
       point 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.zst -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.zst -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>

						   podman-con...-checkpoint(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=podman-container-checkpoint&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help