Docker Compose Deployment (Windows)
Other operating systems
This guide is for Windows 10 / 11. Linux and macOS users should see 👉 Docker Compose Deployment (Linux / macOS).
Before You Start
This guide deploys qData with PowerShell and Docker Desktop. The Compose command used on Windows is docker compose.
Who should read this guide?
- Users deploying qData with Docker Desktop on Windows 10 / 11
- Users familiar with basic Docker Compose commands
- Users who need to select DM8/MySQL or different startup modes manually
- Users who need specific Compose commands for operations or troubleshooting
Before you continue
- You should have basic Docker and Docker Compose knowledge and be able to understand common commands, container status, and basic error messages.
- Deployment requires an internet connection to download Docker images. Make sure your network is stable.
- In mainland China, configure Docker Desktop with an available registry mirror before deployment.
Docker images support two architectures
The Docker images used by this deployment package support both amd64 (x86_64) and arm64. When pulling images, Docker automatically detects the host CPU architecture and selects the matching image. You do not need to switch image tags manually.
docker compose and docker-compose
docker composeis the recommended Docker Compose V2 command and is included with Docker Desktop.docker-composeis the legacy standalone Docker Compose V1 command.- This guide uses
docker composeconsistently. If your environment only providesdocker-compose, you can substitute it fordocker compose, but upgrading to Compose V2 is recommended.
The ready-to-use deployment package includes:
- ✅ Frontend static assets (the packaged
distfolder) - ✅ DolphinScheduler scheduler (no extra installation required)
- ✅ Complete Hadoop stack (HDFS + YARN)
- ✅ Spark 3.5.6 (already extracted)
- ✅ Preset
.envenvironment variable file - ✅ Complete directory structure and Docker Compose configuration
After extracting the package, run the Docker Compose commands for the selected database and startup mode.
Python 3 is already installed in the Docker images. You do not need to install Python separately on Windows.
Step 1: Install Docker Desktop
Download and install Docker Desktop. Docker Compose is included automatically.
Open PowerShell and verify the installation:
docker --version
docker compose versionRecommended versions:
- Docker: ≥ v20.10
- Docker Compose: ≥ v2.20.2
Step 2: Download the Deployment Package
🔗 Baidu Netdisk: https://pan.baidu.com/s/1sKgeBnMZmRnIr42_pVHmiw
🔑 Extraction code: Join the QQ discussion group and check the group files. 👉 Join the QQ discussion group
Extract the downloaded package. A docker folder will be created.
Step 3: Start qData
3.1 Open the Deployment Directory
- Open the extracted
dockerfolder in File Explorer. - Confirm that it contains
.envand multipledocker-compose*.ymlfiles. - Right-click an empty area and select Open in Terminal, or type
powershellin the File Explorer address bar and press Enter.
Run all subsequent commands in this PowerShell window.
3.2 Select the Database
The default primary database is Dameng Database (DM8). No .env change is required for DM8.
To use MySQL:
- Right-click
.envin File Explorer. - Open it with Notepad or another text editor.
- Change
DB_TYPEtomysqland save the file:
# Database type. Available values: dm8 or mysql
DB_TYPE=mysql3.3 Initialize the Database (required on first run)
Run only the command for the selected database.
DM8
docker compose --profile schema up -dMySQL
docker compose -f docker-compose-mysql.yml --profile schema up -d3.4 Start qData
Choose lightweight mode or full mode according to your needs.
Lightweight Mode (light)
Lightweight mode does not start DolphinScheduler or Spark and is suitable for quick deployment and feature verification.
# DM8
docker compose --profile light up -d
# MySQL (run this command only when using MySQL)
docker compose -f docker-compose-mysql.yml --profile light up -dFull Mode (all)
Full mode starts all dependency services.
# DM8
docker compose --profile all up -d
# MySQL (run this command only when using MySQL)
docker compose -f docker-compose-mysql.yml --profile all up -d3.5 Start Demo Data (Optional)
The demo profile is independent of all and must be started separately:
# DM8
docker compose --profile demo up -d
# MySQL (run this command only when using MySQL)
docker compose -f docker-compose-mysql.yml --profile demo up -d3.6 Start Middleware for Local Source Code
To run qData source code on Windows, start only the local profile. Steps 3.3 and 3.4 are not required:
docker compose --profile local up -d⚠️ The MySQL
localprofile has not yet been adapted.
3.7 Other Common Commands
The following examples use the all profile. Replace it with light or demo when needed.
View service status:
docker compose --profile all psStop all services temporarily while retaining containers and data:
docker compose --profile all stopRestart all services:
docker compose --profile all restartStop and remove containers and networks:
docker compose --profile all down
docker compose --profile schema downWhen using MySQL, add
-f docker-compose-mysql.ymlaftercompose. Example:docker compose -f docker-compose-mysql.yml --profile all ps.
Step 4: Access qData
After deployment, use the following addresses:
- qData Data Platform:
http://localhost:80- Account:
admin - Password:
qData123
- Account:
- DolphinScheduler:
http://localhost:12345/dolphinscheduler/ui/home- Account:
admin - Password:
dolphinscheduler123
- Account:
DolphinScheduler starts only in
allmode. For access from another device, replacelocalhostwith the Windows host IP and allow the required ports through Windows Firewall.
Important reminders
- Wait 1-2 minutes after the first startup so all containers can finish initialization.
- Run
docker psto view container status. - If startup fails, make sure Docker Desktop is running and check whether any reported port is already in use.
