Menu Close
Red Hat Training
A Red Hat training course is available for RHEL 8
15.3. システム間のコンテナーの移行
この手順は、コンテナーで実行しているアプリケーションの状態を失うことなく、実行中のコンテナーを別のシステムに移行する方法を示しています。この例は、「コンテナー チェックポイントのローカルでの作成および復元」のコンテナーに基づいています。
カウンター
でタグ付けされたセクション。
前提条件
以下の手順は、コンテナーがレジストリーにプッシュされている場合には不要です。理由は、Podman がローカルでコンテナーを利用できない場合に自動的にコンテナーをレジストリーからダウンロードするためです。この例ではレジストリーを使用せず、以前にビルドされ、タグ付けされたコンテナーをエクスポートする必要があります(「 コンテナーチェックポイントのローカルでの作成および復元 」を参照してください)。
以前にビルドしたコンテナーをエクスポートします。
# podman save --output counter.tar counter
エクスポートしたコンテナーイメージを移行先システム (
other_host
) にコピーします。# scp counter.tar other_host:
エクスポートしたコンテナーを移行先システムにインポートします。
# ssh other_host podman load --input counter.tar
このコンテナーの移行先のシステムには、ローカルコンテナーストレージに保存されているのと同じコンテナーイメージがあります。
手順
root でコンテナーを起動します。
# podman run --name criu-test --detach counter
コンテナーの IP アドレスを表示します。
# podman inspect criu-test --format "{{.NetworkSettings.IPAddress}}" 10.88.0.247
要求をコンテナーに送信します。
# curl 10.88.0.247:8080 0 # curl 10.88.0.247:8080 1
コンテナーのチェックポイントを作成し、チェックポイントイメージを
tar.gz
ファイルにエクスポートします。# podman container checkpoint criu-test --export /tmp/chkpt.tar.gz
チェックポイントアーカイブを移行先ホストにコピーします。
# scp /tmp/chkpt.tar.gz other_host:/tmp/
移行先ホスト (
other_host
) のチェックポイントを復元します。# podman container restore --import /tmp/chkpt.tar.gz
宛先ホスト (
other_host
) のコンテナーに要求を送信します。# curl 10.88.0.247:8080 2
これで、ステートフルコンテナーが、状態を失うことなく、別のシステムへ移行されました。