ローカルの学習用/評価用Docker環境(例:Kali + DVWA + Juice Shop 等)を まるごと保存 して、別のマシンや後日同じ状態で復元するための実践ガイドです。
教育・研究目的のローカル環境に限定して実施してください。実運用環境や第三者サービスへの同様の操作は法律違反や倫理問題を引き起こします。
概要
この手順では、稼働中のコンテナを以下のように保存します:
- DB を SQL ダンプでエクスポート(データの確実な保存)
- 必要なコンテナ内ファイル(/var/www など)をホストにコピー(補助)
- 現在のコンテナ状態をイメージ化(
docker commit) - イメージをファイルにエクスポート(
docker save)してバックアップ - 永続化対応の
docker-compose.yml(復元用)を用意
以降は docker load → docker compose up で同一環境を再現できます。
注意(必読)
- 機密情報の扱いに注意:DBダンプやコンテナイメージにパスワード等が含まれます。バックアップはアクセス制御した場所に保管してください。
- ボリュームの中身は commit に含まれない:DBなどをボリュームで運用している場合、必ずダンプを取るかボリューム単位でバックアップしてください。
- 実行はローカルの隔離環境のみ:外部ネットワークや他者のサーバへ影響を与えないことを確認してください。
前提
- 作業ホストに Docker / Docker Compose がインストール済み
- 作業用ディレクトリ(例:
~/ceh-lab-docker)を用意
mkdir -p ~/ceh-lab-docker/{backups,images}
cd ~/ceh-lab-docker