DataMover Docker 一键部署:5 分钟启动企业级数据同步平台

使用 Docker 一键部署 DataMover,无需手动配置 JDK 和环境变量,一行命令即可启动完整的数据迁移同步平台。

一、为什么选择 Docker 部署?

相比传统手动部署方式,Docker 部署 DataMover 具有以下优势:

对比项传统部署Docker 部署
前置依赖需安装 JDK 8+、配置环境变量仅需 Docker 环境
部署耗时10-15 分钟(下载 + 配置)3-5 分钟(自动完成)
升级维护手动替换文件、配置参数重新执行脚本,自动拉取新镜像
多 Worker 扩展需重复安装配置复制服务配置即可
环境一致性依赖操作系统版本容器封装,环境一致

Docker 部署与传统部署流程对比

二、环境要求

组件版本要求
Docker Engine20.10+
Docker Compose2.x+(即 docker compose 命令)

Docker 部署脚本会自动从**阿里云 ACR(国内镜像仓库)**拉取镜像,无需额外配置镜像加速器或代理。

如果服务器没有 Docker 环境,可以寻求 AI 指导安装,或参考 Docker 官方安装文档。

三、一键安装(推荐)

macOS / Linux

curl -fsSL https://down.datamover.cn/install.sh | bash

Windows PowerShell

Set-ExecutionPolicy Bypass -Scope Process -Force; irm https://down.datamover.cn/install.ps1 | iex

安装脚本会自动完成以下步骤:

  1. 检测 Docker 和 Docker Compose 环境
  2. 下载 datamover-docker.zip 压缩包
  3. 解压到当前目录
  4. 从阿里云 ACR 拉取 Manager 和 Worker 镜像
  5. 启动所有服务(MySQL + Manager + Worker)

一键安装脚本执行过程

首次启动需要 3-5 分钟完成 MySQL 初始化和 Flyway 自动建表,请耐心等待。

四、手动部署

如果需要审查部署包内容,也可以手动下载部署。

4.1 下载压缩包

wget https://down.datamover.cn/datamover-docker.zip
# 或直接在浏览器访问上面的地址下载

4.2 解压

unzip datamover-docker.zip
cd datamover-docker

解压后的目录结构:

datamover-docker/
├── docker-compose.yml
├── deploy.sh              # Linux 部署脚本
├── deploy.ps1             # Windows 部署脚本
├── .env                   # 环境配置
├── 使用说明.md
└── mysql/
    └── init/
        └── 01-grant-privileges.sql

解压后的目录结构

4.3 (可选)修改配置

编辑 .env 文件,按需修改数据库密码:

DM_DB_PASSWORD=你的密码

不修改则使用默认密码 Dm@2024#Secure!

4.4 启动服务

# Linux
chmod +x deploy.sh
./deploy.sh

# Windows PowerShell
.\deploy.ps1

部署脚本会自动检测端口冲突,如果 3306/8000/8011 被占用,会自动更换为可用端口,并在启动完成后告知实际地址。

查看启动日志:

docker compose logs -f

部署脚本运行输出

五、访问 DataMover 管理界面

启动完成后,浏览器访问:

服务地址
Manager Web 界面http://服务器IP:8000
Worker 接口http://服务器IP:8011

默认管理员账号:

DataMover 登录界面

登录后即可开始配置数据源和创建同步任务,具体操作请参考 DataMover 快速部署教程

六、常用运维命令

查看日志

# 查看所有服务日志
docker compose logs -f

# 查看指定服务日志
docker compose logs -f manager
docker compose logs -f worker

启停控制

# Linux
./deploy.sh --stop           # 停止所有服务
./deploy.sh --stop worker    # 仅停止 Worker
./deploy.sh --restart        # 重启所有服务
./deploy.sh --down           # 停止并删除容器(数据不丢失)

# Windows PowerShell
.\deploy.ps1 -Action Stop
.\deploy.ps1 -Action Restart
.\deploy.ps1 -Action Down

升级

重新下载最新压缩包,解压后执行部署脚本即可自动拉取最新镜像并重新部署:

./deploy.sh

多 Worker 扩展

docker-compose.yml 中添加 Worker 服务配置:

worker-2:
  image: datamover-worker:latest
  container_name: datamover-worker-2
  environment:
    DM_LOCAL_IP: worker-2
    DM_NODE_ID: <新的唯一UUID>
    DM_DB_PASSWORD: ${DM_DB_PASSWORD}

七、配置参考

Docker 部署的所有配置通过环境变量注入,可在 .env 文件中修改:

变量默认值说明
TZAsia/Shanghai容器时区
DM_DB_PASSWORDDm@2024#Secure!MySQL 用户密码
DM_LOCAL_IP自动检测本机注册 IP(多网卡环境需手动指定)
DM_WEB_PORT8000Manager 端口
JAVA_OPTS额外 JVM 参数

调整 JVM 内存

.env 文件中设置:

JAVA_OPTS=-Xms512m -Xmx2g

修改端口映射

编辑 docker-compose.yml 中的 ports 配置:

ports:
  - "3307:3306"   # MySQL
  - "8001:8000"   # Manager
  - "8012:8011"   # Worker

数据持久化

MySQL 数据存储在 Docker 命名卷 datamover_mysql-data 中,docker compose down 不会丢失数据。

如需彻底清理(谨慎操作):

docker compose down -v

Docker 架构示意图

八、常见问题

8.1 端口冲突怎么办?

部署脚本会自动检测 3306/8000/8011 是否被占用,并更换为可用端口。也可以手动修改 docker-compose.yml 中的端口映射。

8.2 镜像拉取失败?

确认服务器可访问公网。如果在内网环境,需要在一台公网机器上执行 ./deploy.sh --pull 拉取镜像并导出,再拷贝到内网机器导入。

8.3 如何查看 Worker 是否注册成功?

登录管理界面,进入 节点管理 查看 Worker 状态。如果显示在线,说明注册成功。

8.4 Docker 部署的资源占用如何?

服务最低配置推荐配置
Manager1 核 / 1 GB2 核 / 2 GB
Worker2 核 / 2 GB4 核 / 4 GB
MySQL1 核 / 1 GB2 核 / 2 GB

社区版免费,支持 3 个同步任务和 1 个执行节点,满足个人开发者和创业团队需求。

九、下一步

现在就用 Docker 一键部署 DataMover,5 分钟开启你的数据同步之旅!

相关同步方案

除了数据迁移同步解决方案,DataMover还支持以下场景:

数据迁移同步平台异构数据库实时同步数据迁移工具推荐企业级数据同步方案免费数据迁移工具

常见问题解答

数据迁移是否支持全量和增量?

DataMover的普通任务支持全量一次性同步和基于字段的增量同步。

增量同步和实时同步有什么区别?

增量同步延迟分钟级,实时同步(CDC)可达秒级延迟,能捕获所有数据变更。

CDC同步对源数据库性能影响多大?

采用无锁读取方式,对源库性能影响极小。

免费社区版能同步多少数据?

免费社区版不限制数据量,限制3个同步任务和1个执行节点。

开始你的第一次数据同步

5分钟部署,永久免费社区版