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

FreeBSD Manual Pages

  
 
  

home | help
podman-container-restore(1) General Commands Manualpodman-container-restore(1)

NAME
       podman-container-restore	- Restore one or more containers from a	check-
       point

SYNOPSIS
       podman container	restore	[options] name [...]

DESCRIPTION
       podman  container  restore restores a container from a container	check-
       point or	checkpoint image. The container	IDs, image IDs	or  names  are
       used as input.

OPTIONS
   --all, -a
       Restore all checkpointed	containers.
       The default is false.
       IMPORTANT:  This	 OPTION	 does not need a container name	or ID as input
       argument.

   --file-locks
       Restore a container with	file locks. This option	is required to restore
       file locks from a checkpoint image. If the checkpoint  image  does  not
       contain	file  locks, this option is ignored. Defaults to not restoring
       file locks.
       The default is false.

   --ignore-rootfs
       If a container is restored from a checkpoint tar.gz file	it is possible
       that it also contains all  root	file-system  changes.  With  --ignore-
       rootfs  it  is possible to explicitly disable applying these root file-
       system changes to the restored container.
       The default is false.
       IMPORTANT: This OPTION is only available	in combination with  --import,
       -i.

   --ignore-static-ip
       If  the	container  was	started	 with --ip the restored	container also
       tries to	use that IP address and	restore	fails if that  IP  address  is
       already	in  use.  This can happen, if a	container is restored multiple
       times from an exported checkpoint with --name, -n.

       Using --ignore-static-ip	tells Podman to	ignore the IP  address	if  it
       was configured with --ip	during container creation.

       The default is false.

   --ignore-static-mac
       If  the container was started with --mac-address	the restored container
       also tries to use that MAC address and restore fails if	that  MAC  ad-
       dress  is  already  in use. This	can happen, if a container is restored
       multiple	times from an exported checkpoint with --name, -n.

       Using --ignore-static-mac tells Podman to ignore	the MAC	address	if  it
       was configured with --mac-address during	container creation.

       The default is false.

   --ignore-volumes
       This  option  must be used in combination with the --import, -i option.
       When restoring containers from a	checkpoint tar.gz file with  this  op-
       tion, the content of associated volumes are not restored.
       The default is false.

   --import, -i=file
       Import a	checkpoint tar.gz file,	which was exported by Podman. This can
       be used to import a checkpointed	container from another host.
       IMPORTANT:  This	 OPTION	 does not need a container name	or ID as input
       argument.

       During the import of a checkpoint file Podman  selects  the  same  con-
       tainer  runtime which was used during checkpointing. This is especially
       important if a specific (non-default) container runtime	was  specified
       during  container  creation. Podman also	aborts the restore if the con-
       tainer runtime specified	during restore does  not  much	the  container
       runtime used for	container creation.

   --import-previous=file
       Import  a pre-checkpoint	tar.gz file which was exported by Podman. This
       option must be used with	-i or --import.	It only	works on runc  1.0-rc3
       or  higher.   IMPORTANT:	 This  OPTION  is  not supported on the	remote
       client, including Mac and Windows (excluding WSL2) machines.

   --keep, -k
       Keep all	temporary log and statistics  files  created  by  CRIU	during
       checkpointing  as  well	as  restoring.	These files are	not deleted if
       restoring fails for further  debugging.	If  restoring  succeeds	 these
       files  are theoretically	not needed, but	if these files are needed Pod-
       man can keep the	files for further analysis. This includes  the	check-
       point  directory	 with all files	created	during checkpointing. The size
       required	by the checkpoint directory is roughly the same	as the	amount
       of memory required by the processes in the checkpointed container.
       Without the --keep, -k option, the checkpoint is	consumed and cannot be
       used again.
       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.

   --name, -n=name
       If a container is restored from a checkpoint tar.gz file	it is possible
       to rename it with --name, -n. This way it is possible to	restore	a con-
       tainer from a checkpoint	multiple times with different names.

       If the --name, -n option	is used, Podman	does not attempt to assign the
       same IP address to the container	it was using before  checkpointing  as
       each  IP	 address can only be used once,	and the	restored container has
       another IP address. This	also means that	--name,	-n cannot be  used  in
       combination with	--tcp-established.
       IMPORTANT:  This	 OPTION	is only	available for a	checkpoint image or in
       combination with	--import, -i.

   --pod=name
       Restore a container into	the pod	name. The destination pod for this re-
       store has to have the same namespaces shared as the pod this  container
       was checkpointed	from (see **podman pod create --share.
       IMPORTANT:  This	 OPTION	is only	available for a	checkpoint image or in
       combination with	--import, -i.

       This option requires at least CRIU 3.16.

   --print-stats
       Print out statistics about restoring the	container(s).  The  output  is
       rendered	 in  a JSON array and contains information about how much time
       different restore operations required. Many of the  restore  statistics
       are  created  by	 CRIU and just passed through to Podman. The following
       information is provided in the JSON array:

        podman_restore_duration: Overall time (in microseconds) needed	to re-
	 store all checkpoints.

        runtime_restore_duration: Time	(in microseconds) the  container  run-
	 time needed to	restore	the checkpoint.

        forking_time: Time (in	microseconds) CRIU needed to create (fork) all
	 processes in the restored container (measured by CRIU).

        restore_time:	Time  (in  microseconds)  CRIU	needed	to restore all
	 processes in the container (measured by CRIU).

        pages_restored: Number	of memory pages	restored (measured by CRIU).

       The default is false.

   --publish, -p=port
       Replaces	the ports that the container publishes,	as  configured	during
       the initial container start, with a new set of port forwarding rules.

       For more	details, see podman run	--publish.

   --tcp-established
       Restore a container with	established TCP	connections. If	the checkpoint
       image  contains	established  TCP  connections, this option is required
       during restore.	If the checkpoint image	does not  contain  established
       TCP  connections	this option is ignored.	Defaults to not	restoring con-
       tainers with established	TCP connections.
       The default is false.

EXAMPLE
       Restore the container "mywebserver".

       # podman	container restore mywebserver

       Import a	checkpoint file	and a pre-checkpoint file.

       # podman	container restore --import-previous pre-checkpoint.tar.gz --import checkpoint.tar.gz

       Start the container "mywebserver". Make a checkpoint of	the  container
       and  export  it.	 Restore the container with other port ranges from the
       exported	file.

       $ podman	run --rm -p 2345:80 -d webserver
       # podman	container checkpoint -l	--export=dump.tar
       # podman	container restore -p 5432:8080 --import=dump.tar

       Start a container with the name "foobar-1". Create a  checkpoint	 image
       "foobar-checkpoint".  Restore  the  container from the checkpoint image
       with a different	name.

       # podman	run --name foobar-1 -d webserver
       # podman	container checkpoint --create-image foobar-checkpoint foobar-1
       # podman	inspect	foobar-checkpoint
       # podman	container restore --name foobar-2 foobar-checkpoint
       # podman	container restore --name foobar-3 foobar-checkpoint

SEE ALSO
       podman(1), podman-container-checkpoint(1),  podman-run(1),  podman-pod-
       create(1), criu(8)

HISTORY
       September  2018,	 Originally compiled by	Adrian Reber areber@redhat.com
       <mailto:areber@redhat.com>

						   podman-container-restore(1)

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

home | help