DataMover Docker 快速部署教程:从安装到创建第一个同步任务

本文记录 DataMover Docker 部署和第一个普通同步任务的配置流程,包括服务启动、控制台登录、数据源连接、表映射、任务执行和 SQL 校验。

DataMover 可以通过 Docker 方式快速启动 Manager、Worker 和元数据库。部署完成后,用户可在 Web 控制台配置源端、目标端、表映射、字段映射和同步策略,并通过任务详情查看执行状态、执行历史和日志。

本文使用一个小表作为示例,演示从部署到任务校验的完整路径。生产环境迁移前,建议先用测试库完成同样的流程验证。

一、部署前准备

Docker 部署需要服务器已安装 Docker Engine 和 Docker Compose。

组件建议版本
Docker Engine20.10+
Docker Compose2.x+
CPU2 核起,建议 4 核以上
内存4 GB 起,建议 8 GB 以上
端口8000、8011 默认未被占用

如果服务器不能访问公网,可下载 datamover-docker.zip 后按离线部署流程导入镜像。

二、执行 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

脚本会自动下载部署包、拉取镜像、创建容器并启动服务。首次启动需要等待 MySQL 初始化和系统建表,通常需要 3-5 分钟。

部署完成后访问:

http://服务器IP:8000

本机部署可以访问:

http://localhost:8000

默认账号:

项目默认值
用户名admin
密码admin123

详细部署参数和离线部署步骤见官方文档:Docker 部署

三、准备示例源表

首次配置建议使用测试库和小表,先验证连接、权限、字段映射和目标端写入。

示例表:

CREATE TABLE dm_demo_user (
  id BIGINT PRIMARY KEY,
  username VARCHAR(64),
  phone VARCHAR(32),
  updated_at TIMESTAMP
);

INSERT INTO dm_demo_user (id, username, phone, updated_at) VALUES
(1, 'alice', '13800000001', CURRENT_TIMESTAMP),
(2, 'bob', '13800000002', CURRENT_TIMESTAMP),
(3, 'carol', '13800000003', CURRENT_TIMESTAMP);

源端账号需要读取表结构和读取数据。目标端账号需要建表、写入和更新数据。正式环境建议创建专用同步账号,并按最小权限授权。

四、添加源端和目标端数据源

登录控制台后,进入 数据源 页面,点击 新增

源端数据源常见配置项:

配置项说明
数据源名称例如 mysql_source_demo
数据源类型选择实际数据库类型
连接地址 / 端口数据库服务地址和端口
数据库名要读取的库或 schema
用户名 / 密码源端同步账号
数据源角色选择源端,或源端和目的端

填写后点击 测试连接。测试通过后保存。

再按同样方式添加目标端数据源。目标端需要重点确认写入权限、建表权限、字符集和字段长度,避免任务启动后在写入阶段失败。

五、创建普通同步任务

进入 任务管理,点击 新建任务

任务基础配置:

  1. 填写任务名称。
  2. 任务类型选择 普通任务
  3. 选择源端数据源。
  4. 选择目标端数据源。
  5. 点击 下一步 进入表映射。

表映射配置:

  1. 在左侧源端树选择要同步的表。
  2. 选择或填写目标表名。
  3. 检查字段映射是否自动匹配。
  4. 字段名或字段类型不一致时,手动调整目标字段。
  5. 保存表映射。
  6. 根据需要配置同步策略和调度规则。
  7. 点击完成。

普通任务适合全量迁移、周期同步和基于字段的增量同步。需要捕获插入、更新、删除事件时,再配置实时任务。

六、启动任务并查看执行结果

回到任务列表或任务详情页,点击 启动,选择在线 Worker 节点。

启动后重点查看:

位置检查内容
任务状态执行中、成功或失败
采集/输出行数读取行数和写入行数是否符合预期
执行历史每次执行的开始时间、结束时间和错误信息
日志失败时下载 Worker 日志定位原因

常见失败原因包括字段长度不够、目标端缺少权限、字符集不一致、时间字段格式异常、网络不通或目标表结构不匹配。

七、用 SQL 校验目标库

任务成功后,建议对目标库做基础校验。

行数校验:

SELECT COUNT(*) FROM dm_demo_user;

主键范围校验:

SELECT MIN(id), MAX(id) FROM dm_demo_user;

抽样校验:

SELECT id, username, phone, updated_at
FROM dm_demo_user
ORDER BY id
LIMIT 10;

正式迁移还应检查时间字段、金额字段、枚举字段、长文本字段、空值和特殊字符。

八、CDC 实时任务的前置条件

CDC 任务依赖源库日志能力。创建实时任务前,先确认源端数据库配置。

源端常见前置条件
MySQL开启 binlog
PostgreSQL开启 WAL 逻辑复制
SQL Server开启 CDC
Oracle开启 LogMiner 相关配置
达梦按数据库版本配置日志捕获能力

实时任务上线前,还需要确认快照策略、是否同步删除事件、目标表主键、失败重跑方式和数据校验口径。

相关入口

相关同步方案

除了DataMover Docker 快速部署,DataMover还支持以下场景:

数据迁移同步平台异构数据库实时同步数据迁移工具推荐企业级数据同步方案免费数据迁移工具Docker部署数据同步工具免费数据同步工具数据库迁移同步快速入门

常见问题解答

DataMover Docker 部署需要什么环境?

需要 Docker Engine 20.10+ 和 Docker Compose 2.x+。部署脚本会自动下载部署包并启动 Manager、Worker 和元数据库。

Docker 部署后如何创建同步任务?

登录 Web 控制台后,依次添加源端数据源、目标端数据源,新建普通任务,选择源表,保存字段映射,启动任务并查看执行结果。

普通任务和 CDC 任务如何选择?

普通任务适合全量迁移、周期同步和基于字段的增量同步;需要捕获插入、更新、删除事件并降低延迟时,再配置 CDC 任务。

任务执行成功后还需要校验吗?

需要。建议至少用行数、主键范围和抽样 SQL 校验目标库,正式迁移还要检查时间、金额、枚举、空值和长文本字段。

开始配置 DataMover 同步任务

下载 DataMover 后,可按文档完成数据源、表映射、同步策略、任务启动和执行结果校验。