2026年7月3日
2026年7月3日
Dockerコンテナのバックアップと復元方法
ステップ1: 容器の一覧とID確認
まず、現在稼働中のDockerコンテナを一覧表示し、バックアップ対象のコンテナのIDを確認します。
# 現在稼働中のすべてのDockerコンテナの一覧を表示します。
$ docker ps
# 例: コンテナIDは"9c0b84567890"です。
ステップ2: バックアップの実行
Docker CLIでのバックアップ
Docker CLIを使用してコンテナをダンプします。ここでは、docker exportコマンドとファイルシステムをzipアーカイブ化することで、安全なバックアップを作成します。
# 指定したコンテナIDのファイルシステムを抽出し、ZIPアーカイブとして保存します。
$ docker export 9c0b84567890 > container_backup.tar
# ZIPアーカイブ化して安全なバックアップを作成します。
$ tar -czf backup.tar.gz container_backup.tar
Docker Composeでのバックアップ
Docker Composeを使用している場合、コンテナ全体の状態と設定も含めて一括でバックアップできます。
# docker-compose.ymlファイルに基づいてコンテナを停止し、一括バックアップを作成します。
$ docker-compose down --volumes --remove-orphans
# すべてのコンテナとデータボリュームの状態を記録したtarアーカイブを作成します。
$ docker save -o all_containers.tar $(docker ps -aq)
ステップ3: バックアップファイルの保存
バックアップファイルはセキュアな場所に保管することをお勧めします。クラウドストレージやローカルディスクなどの適切な保管先を選択してください。
# 例: ディレクトリ"backups"にバックアップファイルを保存します。
$ mv backup.tar.gz backups/
ステップ4: 復元の実行
Docker CLIでの復元
必要に応じて、以前作成したバックアップファイルからコンテナを復元します。
# ZIPアーカイブを開き、以前の状態に戻します。
$ tar -xzvf backup.tar.gz
# 復元されたtarファイルを使用してコンテナを作成または起動します。
$ docker import container_backup.tar my_container_name
Docker Composeでの復元
Docker Composeで管理されている複数のコンテナ状態を復元する場合、docker loadコマンドとdocker-compose upを使用します。
# tarファイルからイメージをロードし、コンテナを起動します。
$ docker load -i all_containers.tar
# Composeファイルに基づいてサービスを再起動します。
$ docker-compose up -d --force-recreate
注意事項
- セキュリティ上の注意: バックアップファイルは常に安全な場所に保管し、アクセス権限を適切に設定してください。また、バックアップファイルが暗号化されていない場合は、機密情報の漏洩リスクがあります。
- パフォーマンス/運用上の注意: 大規模なDockerクラスタの場合、定期的なバックアップはリソース消費につながります。必要な頻度と最適な手法を事前に計画することが重要です。
まとめ
1. バックアップの実行: Docker CLIやDocker Composeを使用してコンテナやボリュームの状態を安全に保存します。
2. バックアップファイルの保管: バックアップファイルはセキュアな場所に保管し、適切なアクセス制御を行います。
3. 復元: 必要な場合、バックアップファイルからコンテナやボリュームを安全に復元します。
関連記事:
- [Dockerコンテナの設定と管理]
- [Docker Composeの基本操作]