自动化 DolphinDB Docker 部署,支持自动架构检测(ARM64/x86_64),智能内存分配(50% 规则)以及完整数据持久化。
DolphinDB Docker 部署技能是一项面向实际任务的技能,主要用于自动化部署 DolphinDB Docker 容器,包括:;自动检测本机芯片架构 (ARM64/x86_64);
License 指纹采集 挂载 /etc 目录。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
自动化部署 DolphinDB Docker 容器,包括:
/data/ddb/server/ 目录到主机/etc 目录# 部署最新版(自动检测架构和内存) ./deploy-dolphindb.sh # 部署指定版本 ./deploy-dolphindb.sh v2.00.7 # 自定义内存(GB) ./deploy-dolphindb.sh v2.00.7 16 # 自定义数据目录 ./deploy-dolphindb.sh v2.00.7 8 /path/to/data
import subprocess
# 部署 DolphinDB
subprocess.run([
'./skills/dolphindb-docker/deploy-dolphindb.sh',
'v2.00.7', # 版本
'8', # 内存 GB(可选,默认自动计算)
'/Users/mac/Documents/dolphindb_docker_server' # 数据目录(可选)
])
dolphindb-docker/ ├── SKILL.md # 技能说明(本文件) ├── deploy-dolphindb.sh # 部署脚本 └── README.md # 详细文档
uname -m # arm64 → 使用 dolphindb/dolphindb-arm64 # x86_64 → 使用 dolphindb/dolphindb
# 读取本机内存(字节)
mem_bytes=$(sysctl -n hw.memsize) # macOS
# 或
mem_bytes=$(grep MemTotal /proc/meminfo | awk '{print $2 * 1024}') # Linux
# 转换为 GB 并取 50%
mem_gb=$((mem_bytes / 1024 / 1024 / 1024))
mem_limit=$((mem_gb / 2))
docker run -itd --name dolphindb --hostname cnserver10 --platform <架构> -m <内存>g -p 8848:8848 -p 8849:8849 -v /etc:/dolphindb/etc -v <主机数据目录>:/data/ddb/server dolphindb/<镜像>:<版本>
# 检查容器状态
docker ps --filter name=dolphindb
# 查看日志
docker logs dolphindb
# 访问 Web UI
curl http://localhost:8848
# Python 连接测试
python3 -c "
import dolphindb as ddb
s = ddb.session()
s.connect('localhost', 8848)
print(s.run('version()'))
"
maxMemSize 配置文件后重启容器-p 参数# 查看详细日志 docker logs dolphindb # 检查端口占用 lsof -i:8848
# 降低内存限制 docker run -m 4g ...
# 确认本机架构 uname -m # 使用对应镜像 # ARM64: dolphindb/dolphindb-arm64 # x86_64: dolphindb/dolphindb