DockerのPostgreSQLデータベースをWindows→WSLのDockerへ移行する方法
DockerのPostgreSQLデータベースをWindows→WSLのDockerへ移行する方法
Windows上のDockerで動作するPostgreSQLデータベースを、WSL(Windows Subsystem for Linux)のDockerに移行する 手順を説明します。
🔷 方法 1: Dockerボリュームごと移行する(推奨)
Windowsでは grep
や busybox
は不要 で、標準的な PowerShellコマンド を使用して移行できます。
📌 ① ボリューム名を確認
まず、PostgreSQLのデータが保存されているボリューム名を確認します。
出力例:
この hakata_db-data
がPostgreSQLのデータが格納されているボリュームです。
📌 ② ボリュームをtarファイルにバックアップ
PowerShellを管理者権限で開き、以下のコマンドを実行します。
重要なポイント
C:\Users\tomoi\backup
はWindows側のバックアップ保存先(任意のフォルダを指定)ubuntu
イメージを使用(busybox
は不要)hakata_db_backup.tar.gz
という圧縮ファイルが作成される
この hakata_db_backup.tar.gz
をUSBやネットワーク経由で 移行先のマシンへコピー します。
📌 ③ WSLのDocker環境にファイルをコピー
WSLのファイルシステムにバックアップを移動します。
WSL内で以下のコマンドを実行して、WindowsのバックアップファイルをWSLの /home/
ディレクトリにコピー。
📌 ④ WSLのDockerでボリュームを作成
WSL内で以下を実行し、新しいボリュームを作成します。
作成したボリュームにデータを展開します。
📌 ⑤ WSLのDockerでPostgreSQLコンテナを起動
WSL内で以下を実行し、データをマウントしたPostgreSQLコンテナを起動。
📌 ⑥ データが正しく復元されたか確認
PostgreSQLコンテナに接続してデータを確認。
データベース一覧を表示: