本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像为数据摄入框架的Docker化部署包,旨在提供一个轻量级、可移植的数据采集、转换和加载(ETL)解决方案。通过容器化部署,简化了数据从各类源系统到目标存储的全流程处理,降低了环境依赖和部署复杂度,适用于各类数据集成场景。
适用于需要定期执行数据抽取、转换、加载的场景,替代传统手动或脚本化的ETL流程。
当业务系统数据分散在不同数据源(如MySQL数据库、CSV文件、API接口)时,可通过本镜像实现统一的数据汇聚。
用于系统迁移时的数据全量迁移,或生产环境与测试/分析环境的数据定期同步。
docker pull [镜像仓库地址]/ingestion-framework:latest
通过挂载配置文件和设置环境变量启动容器:
docker run -d \ --name ingestion-framework \ -v /path/to/config:/app/config \ # 挂载配置文件目录 -e SOURCE_TYPE="mysql" \ # 数据源类型 -e SOURCE_CONN="jdbc:mysql://host:port/db" \ # 数据源连接串 -e SOURCE_USER="user" \ # 数据源用户名 -e SOURCE_PASSWORD="password" \ # 数据源密码 -e TARGET_TYPE="postgres" \ # 目标存储类型 -e TARGET_CONN="jdbc:postgresql://host:port/target_db" \ # 目标存储连接串 -e TASK_SCHEDULE="0 0 * * *" \ # 每日凌晨执行(Cron表达式) [镜像仓库地址]/ingestion-framework:latest
推荐通过挂载配置文件(如config.yaml)定义数据摄入流程,示例配置:
# /path/to/config/config.yaml source: type: "mysql" conn: "jdbc:mysql://source-mysql:3306/source_db" user: "source_user" password: "source_pass" table: "source_table" query: "SELECT id, name, create_time FROM source_table WHERE create_time > '{{last_exec_time}}'" # 增量查询 transform: rules: - action: "rename" field: "create_time" new_name: "event_time" - action: "format_date" field: "event_time" format: "yyyy-MM-dd HH:mm:ss" target: type: "postgres" conn: "jdbc:postgresql://target-postgres:5432/target_db" user: "target_user" password: "target_pass" table: "target_table" mode: "upsert" # 插入或更新 primary_key: "id" schedule: cron: "0 */1 * * *" # 每小时执行一次 logging: level: "INFO" file: "/var/log/ingestion/etl.log"
启动容器时挂载配置文件:
docker run -d \ --name ingestion-framework \ -v /path/to/config:/app/config \ [镜像仓库地址]/ingestion-framework:latest
支持通过环境变量覆盖配置文件中的关键参数,常用环境变量:
| 环境变量名 | 描述 | 示例值 |
|---|---|---|
SOURCE_TYPE | 数据源类型 | mysql/postgres/csv/api |
SOURCE_CONN | 数据源连接串 | jdbc:mysql://host:port/db |
SOURCE_USER | 数据源用户名 | user |
SOURCE_PASSWORD | 数据源密码 | pass |
TARGET_TYPE | 目标存储类型 | postgres/***/s3 |
TARGET_CONN | 目标存储连接串 | jdbc:postgresql://host:port/target_db |
TARGET_USER | 目标存储用户名 | target_user |
TARGET_PASSWORD | 目标存储密码 | target_pass |
TASK_SCHEDULE | 任务调度Cron表达式 | 0 0 * * *(每日凌晨) |
LOG_LEVEL | 日志级别 | DEBUG/INFO/WARN/ERROR |
METRICS_ENABLE | 是否开启metrics暴露 | true/false |
METRICS_PORT | metrics暴露端口 | 9090 |
通过docker-compose.yml编排数据摄入服务与依赖组件(如目标数据库):
version: "3.8" services: ingestion-framework: image: [镜像仓库地址]/ingestion-framework:latest container_name: ingestion-framework volumes: - ./config:/app/config # 挂载本地配置目录 - ./logs:/var/log/ingestion # 挂载日志目录 environment: - LOG_LEVEL=INFO - METRICS_ENABLE=true - METRICS_PORT=9090 depends_on: - target-postgres # 依赖目标数据库 restart: unless-stopped target-postgres: image: postgres:14 container_name: target-postgres environment: - POSTGRES_DB=target_db - POSTGRES_USER=target_user - POSTGRES_PASSWORD=target_pass ports: - "5432:5432" volumes: - postgres-data:/var/lib/postgresql/data volumes: postgres-data:
启动服务:
docker-compose up -d
docker logs -f ingestion-framework
curl http://localhost:9090/metrics
JAVA_OPTS环境变量,如-e JAVA_OPTS="-Xmx2g -Xms1g")。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429