
OptIQ Assist是一款轻量级中间件工具,旨在实现数据库与OptIQ分类器之间的高效连接与数据交互。通过标准化的数据传输协议和灵活的配置机制,该工具能够简化多源数据库与各类OptIQ分类器(如机器学习分类模型、规则引擎分类器等)的集成流程,支持数据抽取、格式转换、连接管理等核心能力,为数据分析、模型训练、业务决策等场景提供稳定的数据接入通道。
4.2.1 基础部署(docker run)
bashdocker run -d \ --name optiq-assist \ --network=my-network \ # 若数据库/分类器在自定义网络,需指定网络 -e DB_TYPE="mysql" \ # 数据库类型,支持mysql/postgresql/mongodb等 -e DB_HOST="db-host" \ # 数据库主机地址 -e DB_PORT="3306" \ # 数据库端口 -e DB_USER="admin" \ # 数据库访问用户 -e DB_PASSWORD="password" \ # 数据库访问密码 -e DB_DATABASE="analytics_db" \ # 目标数据库名 -e OPTIQ_CLASSIFIER_URL="http://optiq-classifier:8080/api/classify" \ # OptIQ分类器API地址 -e CONNECTION_POOL_SIZE="10" \ # 数据库连接池大小 optiq/assist:latest
4.2.2 多环境配置(docker-compose)
创建docker-compose.yml文件:
yamlversion: '3.8' services: optiq-assist: image: optiq/assist:latest container_name: optiq-assist restart: always networks: - optiq-network # 与数据库、分类器共享网络 environment: # 数据库配置 DB_TYPE: "postgresql" DB_HOST: "pg-db" # 数据库服务名(同网络内可直接访问) DB_PORT: "5432" DB_USER: "dbuser" DB_PASSWORD: "dbpass123" DB_DATABASE: "user_profiles" # OptIQ分类器配置 OPTIQ_CLASSIFIER_URL: "http://classifier-service:9000/v1/predict" OPTIQ_TIMEOUT: "30s" # 分类器请求超时时间 # 连接与数据处理配置 CONNECTION_POOL_SIZE: "15" DATA_FETCH_INTERVAL: "60s" # 数据定时拉取间隔 DATA_FORMAT: "json" # 输出至分类器的数据格式(json/csv/protobuf) volumes: - ./config:/app/config # 挂载本地配置文件(可选,优先级高于环境变量) # 示例:同网络中的PostgreSQL数据库(实际部署时可替换为现有数据库) pg-db: image: postgres:14 container_name: pg-db environment: POSTGRES_USER: "dbuser" POSTGRES_PASSWORD: "dbpass123" POSTGRES_DB: "user_profiles" networks: - optiq-network networks: optiq-network: driver: bridge
启动服务:
bashdocker-compose up -d
4.3.1 环境变量配置
| 参数名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
DB_TYPE | 目标数据库类型,支持mysql/postgresql/mongodb/oracle/redis | mysql | postgresql |
DB_HOST | 数据库主机地址(IP或域名,同网络内可填服务名) | - | 192.168.1.100 或 pg-db |
DB_PORT | 数据库端口号 | 取决于DB_TYPE(如MySQL默认3306) | 5432(PostgreSQL) |
DB_USER | 数据库访问用户名 | - | admin |
DB_PASSWORD | 数据库访问密码 | - | SecurePass123! |
DB_DATABASE | 目标数据库名(非关系型数据库可填集合/表名,如MongoDB的user_profiles) | - | analytics_db |
OPTIQ_CLASSIFIER_URL | OptIQ分类器的接入地址(API端点) | - | http://classifier:8080/api/classify |
OPTIQ_TIMEOUT | 与OptIQ分类器通信的超时时间(支持s/ms单位) | 30s | 15s |
CONNECTION_POOL_SIZE | 数据库连接池最大连接数 | 10 | 20 |
DATA_FETCH_INTERVAL | 定时从数据库拉取数据的间隔(仅定时模式生效,支持s/m单位) | 60s | 5m |
DATA_FORMAT | 输出至分类器的数据格式 | json | csv |
4.3.2 配置文件优先级
配置优先级从高到低为:挂载的本地配置文件(/app/config/config.yaml) > 环境变量 > 镜像默认配置。
步骤1:拉取镜像
bashdocker pull optiq/assist:latest
步骤2:启动服务
根据4.2节的部署示例启动容器(单容器或docker-compose)。
步骤3:验证容器状态
bash# 检查容器运行状态 docker ps | grep optiq-assist # 查看日志(验证连接是否成功) docker logs -f optiq-assist
[INFO] Database connection established (type: postgresql, host: pg-db)、[INFO] Connected to OptIQ classifier at http://classifier-service:9000/v1/predict。步骤4:测试数据交互
通过OptIQ分类器的日志或接口验证数据是否正常传输,或执行容器内测试命令(若支持):
bashdocker exec -it optiq-assist /app/test-connection # 测试数据库与分类器连接
DB_HOST/DB_PORT是否正确,网络是否互通,数据库用户权限是否允许远程访问。OPTIQ_TIMEOUT值,或检查分类器服务是否正常运行。DATA_FORMAT指定分类器支持的格式,或在配置文件中自定义字段映射规则。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务