podman/pkg/adapter
Adrian Reber 0028578b43
Added support to migrate containers
This commit adds an option to the checkpoint command to export a
checkpoint into a tar.gz file as well as importing a checkpoint tar.gz
file during restore. With all checkpoint artifacts in one file it is
possible to easily transfer a checkpoint and thus enabling container
migration in Podman. With the following steps it is possible to migrate
a running container from one system (source) to another (destination).

 Source system:
  * podman container checkpoint -l -e /tmp/checkpoint.tar.gz
  * scp /tmp/checkpoint.tar.gz destination:/tmp

 Destination system:
  * podman pull 'container-image-as-on-source-system'
  * podman container restore -i /tmp/checkpoint.tar.gz

The exported tar.gz file contains the checkpoint image as created by
CRIU and a few additional JSON files describing the state of the
checkpointed container.

Now the container is running on the destination system with the same
state just as during checkpointing. If the container is kept running
on the source system with the checkpoint flag '-R', the result will be
that the same container is running on two different hosts.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-03 22:05:12 +02:00
..
shortcuts Implement podman-remote rm 2019-04-09 11:55:26 -07:00
checkpoint_restore.go Added support to migrate containers 2019-06-03 22:05:12 +02:00
client.go Add connection information to podman-remote info 2019-05-16 11:03:22 -07:00
client_config.go Add connection information to podman-remote info 2019-05-16 11:03:22 -07:00
containers.go Added support to migrate containers 2019-06-03 22:05:12 +02:00
containers_remote.go Added support to migrate containers 2019-06-03 22:05:12 +02:00
errors.go enable integration tests for remote-client 2019-05-07 14:06:02 -05:00
images.go podman-remote image tree 2019-04-04 14:41:50 -05:00
images_remote.go podman-remote image tree 2019-04-04 14:41:50 -05:00
info_remote.go enable integration tests for remote-client 2019-05-07 14:06:02 -05:00
pods.go Refactor of 'podman prune' to better support remote 2019-04-18 15:13:56 -07:00
pods_remote.go enable integration tests for remote-client 2019-05-07 14:06:02 -05:00
runtime.go Add connection information to podman-remote info 2019-05-16 11:03:22 -07:00
runtime_remote.go Fixup Flags 2019-05-20 13:53:32 -04:00
runtime_remote_supported.go enable podman-remote on windows 2019-04-30 15:28:39 -05:00
sigproxy_linux.go enable podman-remote on windows 2019-04-30 15:28:39 -05:00
terminal.go enable podman-remote on windows 2019-04-30 15:28:39 -05:00
terminal_linux.go enable podman-remote on windows 2019-04-30 15:28:39 -05:00
volumes_remote.go Enable more podman-remote pod commands 2019-02-22 17:00:24 -06:00