Provided by: podman_4.9.3+ds1-1build2_amd64 bug

NAME

       podman-container-restore - Restore one or more containers from a checkpoint

SYNOPSIS

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

DESCRIPTION

       podman  container  restore  restores a container from a container checkpoint 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 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 option, 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 container 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 container 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
       Podman can keep the files for further analysis. This  includes  the  checkpoint  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  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.

   --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 container 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 restore  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  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 during 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 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.commailto:areber@redhat.compodman-container-restore(1)