Docker Compose 部署
Windows 用户请注意
本文为 Linux / macOS 环境下的 Docker Compose 部署教程。
如果你使用 Windows,请查看 👉 Docker Compose 部署(Windows)。
说在前面
谁适合看这份指南?
- 熟悉 Docker Compose 基本命令的用户
- 需要手动选择 DM8/MySQL 或不同启动模式的用户
- 需要查看具体 Compose 命令进行运维或排障的用户
使用前请确认
- 本教程面向具备 Docker 和 Docker Compose 基础知识的使用者,需要能够看懂常用命令、容器状态和基本报错信息。
- 部署过程需要联网下载 Docker 镜像,请确保部署机器能够正常访问镜像仓库,并有稳定的网络环境。
- 中国大陆网络环境下,请提前为 Docker 配置可用的国内镜像加速地址。镜像地址可使用所在云服务商或组织提供的加速服务,配置后请先确认可以正常拉取镜像。
Docker 镜像支持双架构
本部署包使用的 Docker 镜像同时支持 amd64(x86_64) 和 arm64 架构。拉取镜像时,Docker 会根据当前主机的 CPU 架构自动选择对应版本,无需手动切换镜像标签。
我们已经为你准备好“开箱即用”的完整部署包,包括:
- ✅ 前端静态资源(打包好的
dist文件夹) - ✅ DolphinScheduler 调度器(无需额外安装)
- ✅ Hadoop 全家桶(HDFS + YARN)
- ✅ Spark 3.5.6(已解压)
- ✅ 预设
.env环境变量文件 - ✅ 完整的目录结构与 Docker Compose 配置
解压部署包后,可以根据数据库类型和使用场景手动执行 Docker Compose 命令。
Docker 镜像中已安装 Python 3,宿主机无需单独安装 Python。
第 1 步:安装 Docker 和 Docker Compose
qData 通过 Docker 容器运行,必须先安装 Docker 和 Docker Compose。
- 推荐版本:
- Docker:≥ v20.10
- Docker Compose:≥ v2.20.2
docker compose 与 docker-compose
docker compose是当前推荐的 Docker Compose V2 命令。docker-compose是独立安装的 Docker Compose V1 旧命令。- 本教程统一使用
docker compose。如果环境中只有docker-compose,可将教程中的docker compose替换为docker-compose,但建议升级到 Compose V2。
直接下载安装 Docker Desktop。
安装完成后,Docker Compose 已自动包含,无需额外安装。
部署包中已附带离线安装包和安装脚本,可直接运行:
# 进入 Docker 安装包目录
cd ~/qData/docker-install
# 安装 Docker 组件
sudo dpkg -i containerd.io_1.6.9-1_amd64.deb docker-ce_24.0.7-1~ubuntu.20.04~focal_amd64.deb docker-ce-cli_24.0.7-1~ubuntu.20.04~focal_amd64.deb docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb
# 将当前用户加入 docker 用户组(免 sudo 可选)
sudo usermod -aG docker $USER
newgrp docker
# 验证安装
sudo docker -v
# 输出示例:Docker version 24.0.7, build afdd5安装 Docker Compose:
# 赋予执行权限并安装为 Docker CLI 插件
sudo chmod +x docker-compose
sudo mkdir -p /usr/local/lib/docker/cli-plugins
sudo mv docker-compose /usr/local/lib/docker/cli-plugins/docker-compose
# 验证安装
sudo docker compose version
# 输出示例:Docker Compose version v2.20.2第 2 步:部署包下载地址
🔗 百度网盘:https://pan.baidu.com/s/1sKgeBnMZmRnIr42_pVHmiw
🔑 提取码:加入 QQ 交流群后,在群文件中查看。 👉 点此加入 QQ 交流群
下载后请解压部署包
第 3 步:启动 qData
部署包解压后会直接得到一个 docker 文件夹。
进入该 docker 文件夹(里面会有多个 .yml 文件)后再执行后续命令。
3.1 使用 MySQL 作为主库
⚠️ 提示:若使用 达梦数据库(DM8),请跳过此步骤。
步骤 1:进入安装目录
cd ~/(安装包解压位置)步骤 2:修改 .env 文件
sudo vi .env找到以下配置,将 dm8 改为 mysql:
# 数据库类型,可选值:dm8 或 mysql
DB_TYPE=mysql3.2 初始化数据库(首次运行必做)
sudo docker compose --profile schema up -d
💡 如果使用 **MySQL** 作为主库,请执行:
sudo docker compose -f docker-compose-mysql.yml --profile schema up -d⚠️ 注意:entrypoint.sh文件权限问题
首次执行命令 sudo docker compose --profile schema up -d 如果报错权限、Win换行符问题。可依次执行以下命令:
# 给脚本加权限并修复换行
cd ~/qData(部署包解压位置)
sudo chmod -R 755 docker
sudo chown -R $USER:$USER ./docker
sed -i 's/\r$//' ./database/dm8/entrypoint.sh
sed -i 's/\r$//' ./database/dm8/entrypoint-arm64.sh
# 验证权限
ls -l ./database/dm8/entrypoint.sh
# 应为:-rwxr-xr-x
# 再次运行
sudo docker compose --profile schema up -d
💡 如果使用 **MySQL** 作为主库,请执行:
sudo docker compose -f docker-compose-mysql.yml --profile schema up -d3.3 启动 qData
根据验证需求,选择轻量化模式或全量模式启动。
轻量化模式(light)
如果只需快速部署和功能验证,可以不启动 DolphinScheduler 和 Spark:
sudo docker compose --profile light up -d
💡 如果使用 **MySQL** 作为主库,请执行:
sudo docker compose -f docker-compose-mysql.yml --profile light up -d全量模式(all)
如果需要使用完整依赖服务,继续使用 all 模式:
sudo docker compose --profile all up -d
💡 如果使用 **MySQL** 作为主库,请执行:
sudo docker compose -f docker-compose-mysql.yml --profile all up -d3.4 启动演示数据(可选)
如果需要使用内置数据源进行验证,可单独启动 demo 模式。demo 独立于 all 模式:
sudo docker compose --profile demo up -d
💡 如果使用 **MySQL** 作为主库,请执行:
sudo docker compose -f docker-compose-mysql.yml --profile demo up -d3.5 本地源码启动
# 上方的步骤4.1及4.2都无需执行
docker compose --profile local up -d
💡 如果使用 **MySQL** 作为主库,请执行:
sudo docker compose -f docker-compose-mysql.yml --profile all up -d (待适配)⚠️ 注意:端口占用问题
运行 sudo docker compose --profile all up -d 时如果提示端口被占用:
- 根据报错提示,关闭服务器上占用对应端口的进程;
- 或者修改部署包中的
*.yaml配置,将除80端口外的其他端口映射注释或删除(不影响容器内部运行)。
5.5 其他常用命令
⚠️ 提示:
以下命令以all模式为例。如果启动的是轻量化模式,请将all替换为light。demo模式需要单独管理。如果使用了自定义的
docker-compose-xxx.yml文件,所有启动命令都需要在docker compose后面追加-f docker-compose-xxx.yml。例如:sudo docker compose -f docker-compose-mysql.yml --profile all up -d
查看所有服务运行状态:
sudo docker compose --profile all ps暂停 qData 所有服务(数据不丢):
sudo docker compose --profile all stop重启所有服务:
sudo docker compose --profile all restart完全关闭并删除数据(恢复默认环境):
sudo docker compose --profile all down
sudo docker compose --profile schema down本地源码启动所需中间件
docker compose --profile local up -d⚠️
down会清空数据,如果想保留数据,只用stop即可。
部署完成!🎉
部署完成后可通过以下地址访问:
🌐 qData 数据中台
http://<服务器IP>:80
账号:admin
密码:qData123📅 调度器 DolphinScheduler
http://<服务器IP>:12345/dolphinscheduler/ui/home
账号:admin
密码:dolphinscheduler123
⚠️ DolphinScheduler 只在
all模式下启动。
🔑
<服务器IP>替换成你的服务器公网或内网 IP。
💡 重要提醒
- 建议首次启动后 稍等 1-2 分钟 ,让所有容器初始化完毕。
- 可以通过
docker ps查看容器状态。 - 如果访问不了,检查服务器防火墙是否开放
80端口。
