Docker Compose デプロイ(Windows)
その他のオペレーティングシステム
このガイドは Windows 10 / 11 向けです。Linux または macOS を使用する場合は、👉 Docker Compose デプロイ(Linux / macOS) を参照してください。
はじめに
このガイドでは、PowerShell と Docker Desktop を使用して qData をデプロイします。Windows では docker compose コマンドを使用します。
このガイドに向いている人
- Windows 10 / 11 の Docker Desktop で qData をデプロイするユーザー
- Docker Compose の基本コマンドを理解しているユーザー
- DM8/MySQL や起動モードを手動で選択したいユーザー
- 運用やトラブルシューティング用の Compose コマンドを確認したいユーザー
使用前の確認事項
- Docker と Docker Compose の基本知識があり、一般的なコマンド、コンテナーの状態、基本的なエラーを理解できる必要があります。
- Docker イメージのダウンロードにインターネット接続が必要です。安定したネットワークを確認してください。
- 中国大陸のネットワーク環境では、Docker Desktop に利用可能なレジストリミラーを事前に設定してください。
Docker イメージは 2 つのアーキテクチャに対応
このデプロイパッケージで使用する Docker イメージは、amd64(x86_64) と arm64 の両方に対応しています。イメージを pull すると、Docker がホストの CPU アーキテクチャを自動判別し、適切なイメージを選択します。イメージタグを手動で切り替える必要はありません。
docker compose と docker-compose
docker composeは現在推奨されている Docker Compose V2 コマンドで、Docker Desktop に含まれています。docker-composeは個別にインストールする旧 Docker Compose V1 コマンドです。- このガイドでは
docker composeに統一します。docker-composeしか利用できない場合は置き換えて実行できますが、Compose V2 への更新を推奨します。
すぐに使用できるデプロイパッケージには、次の内容が含まれます。
- ✅ フロントエンド静的アセット(パッケージ済みの
distフォルダー) - ✅ DolphinScheduler スケジューラー(追加インストール不要)
- ✅ Hadoop 一式(HDFS + YARN)
- ✅ Spark 3.5.6(展開済み)
- ✅ 事前設定済み
.env環境変数ファイル - ✅ 完全なディレクトリ構成と Docker Compose 設定
パッケージを展開後、選択したデータベースと起動モードに応じて Docker Compose コマンドを実行します。
Docker イメージには Python 3 がインストール済みのため、Windows に別途 Python をインストールする必要はありません。
ステップ 1: Docker Desktop をインストール
Docker Desktop をダウンロードしてインストールします。Docker Compose も自動的に含まれます。
PowerShell を開いてインストールを確認します。
docker --version
docker compose version推奨バージョン:
- Docker: ≥ v20.10
- Docker Compose: ≥ v2.20.2
ステップ 2: デプロイパッケージをダウンロード
🔗 Baidu Netdisk: https://pan.baidu.com/s/1sKgeBnMZmRnIr42_pVHmiw
🔑 展開コード: QQ ディスカッショングループに参加し、グループファイルで確認してください。👉 QQ ディスカッショングループに参加
ダウンロードしたパッケージを展開すると、docker フォルダーが作成されます。
ステップ 3: qData を起動
3.1 デプロイディレクトリを開く
- 展開後の
dockerフォルダーをエクスプローラーで開きます。 .envと複数のdocker-compose*.ymlファイルが含まれていることを確認します。- 空白部分を右クリックして「ターミナルで開く」を選択するか、アドレスバーに
powershellと入力して Enter キーを押します。
以降のコマンドは、この PowerShell で実行します。
3.2 データベースを選択
デフォルトのメイン DB は Dameng Database(DM8) です。DM8 を使用する場合、.env の変更は不要です。
MySQL を使用する場合:
- エクスプローラーで
.envを右クリックします。 - メモ帳または他のテキストエディターで開きます。
DB_TYPEをmysqlに変更して保存します。
# DB type. Available values: dm8 or mysql
DB_TYPE=mysql3.3 DB を初期化(初回実行時は必須)
選択したデータベースのコマンドのみを実行します。
DM8
docker compose --profile schema up -dMySQL
docker compose -f docker-compose-mysql.yml --profile schema up -d3.4 qData を起動
用途に応じて軽量モードまたはフルモードを選択します。
軽量モード(light)
軽量モードでは DolphinScheduler と Spark を起動せず、簡単な機能確認に適しています。
# DM8
docker compose --profile light up -d
# MySQL(MySQL を使用する場合のみ実行)
docker compose -f docker-compose-mysql.yml --profile light up -dフルモード(all)
フルモードではすべての依存サービスを起動します。
# DM8
docker compose --profile all up -d
# MySQL(MySQL を使用する場合のみ実行)
docker compose -f docker-compose-mysql.yml --profile all up -d3.5 デモデータを起動(任意)
demo プロファイルは all から独立しており、別途起動します。
# DM8
docker compose --profile demo up -d
# MySQL(MySQL を使用する場合のみ実行)
docker compose -f docker-compose-mysql.yml --profile demo up -d3.6 ローカルソースコード用ミドルウェアを起動
Windows で qData のソースコードを実行する場合は local プロファイルのみを起動します。3.3 と3.4 は不要です。
docker compose --profile local up -d⚠️ MySQL の
localプロファイルは未対応です。
3.7 その他のよく使うコマンド
以下は all プロファイルの例です。必要に応じて light または demo に置き換えてください。
サービスの状態を確認:
docker compose --profile all psコンテナーとデータを保持したまま一時停止:
docker compose --profile all stopすべてのサービスを再起動:
docker compose --profile all restartコンテナーとネットワークを停止して削除:
docker compose --profile all down
docker compose --profile schema downMySQL を使用する場合は、
composeの後ろに-f docker-compose-mysql.ymlを追加します。例:docker compose -f docker-compose-mysql.yml --profile all ps。
ステップ 4: qData にアクセス
デプロイ後、次のアドレスにアクセスします。
- qData データ基盤:
http://localhost:80- アカウント:
admin - パスワード:
qData123
- アカウント:
- DolphinScheduler:
http://localhost:12345/dolphinscheduler/ui/home- アカウント:
admin - パスワード:
dolphinscheduler123
- アカウント:
DolphinScheduler は
allモードでのみ起動します。別のデバイスからアクセスする場合は、localhostを Windows ホストの IP に置き換え、Windows ファイアウォールで必要なポートを許可してください。
重要な注意
- 初回起動後は 1-2 分待ち、すべてのコンテナーの初期化が完了するのを待ってください。
docker psでコンテナーの状態を確認できます。- 起動できない場合は Docker Desktop が実行中か確認し、エラーに表示されたポートが使用中でないか確認してください。
