dwww Home | Manual pages | Find package

podman-container-restore(1) General Commands Manual podman-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 ar-
       gument.

   --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 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-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 ar-
       gument.

       During the import of a checkpoint file Podman selects the same container
       runtime which was used during checkpointing. This is  especially  impor-
       tant  if a specific (non-default) container runtime was specified during
       container creation. Podman also aborts the restore if the container run-
       time 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  Podman  can
       keep the files for further analysis. This includes the checkpoint direc-
       tory  with  all files created during checkpointing. The size required by
       the checkpoint directory is roughly the same as the amount of memory re-
       quired 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 con-
       tainer.  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 in-
       put 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 in-
       formation is provided in the JSON array:

              • podman_restore_duration:  Overall time (in microseconds) needed
                to restore all checkpoints.

              • runtime_restore_duration: Time (in microseconds) the  container
                runtime 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 dur-
       ing restore.  If the checkpoint image does not contain  established  TCP
       connections this option is ignored. Defaults to not restoring containers
       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 ex-
       ported 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.compodman-container-restore(1)

Generated by dwww version 1.16 on Tue Dec 16 06:23:48 CET 2025.