Automate DolphinDB Docker deployment with auto architecture detection (ARM64/x86_64), smart memory allocation (50% rule), and full data persistence.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill dolphindb-docker --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Dolphindb Docker?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-dolphindb-docker)More formats (shields.io, HTML) on the badges page.
---
name: dolphindb-docker
description: Automate DolphinDB Docker deployment with auto architecture detection (ARM64/x86_64), smart memory allocation (50% rule), and full data persistence.
metadata: {"clawdbot":{"emoji":"🐬","os":["macos","linux"],"requires":{"bins":["docker"]},"install":[{"id":"docker-desktop","kind":"manual","label":"Install Docker Desktop","url":"https://www.docker.com/products/docker-desktop/"}]}}
---
# DolphinDB Docker 部署技能
## 功能说明
自动化部署 DolphinDB Docker 容器,包括:
1. **自动检测本机芯片架构**(ARM64/x86_64)
2. **自动读取本机内存**并按 50% 原则分配
3. **下载指定版本的 DolphinDB 官方 Docker 镜像**
4. **完整持久化** `/data/ddb/server/` 目录到主机
5. **License 指纹采集**挂载 `/etc` 目录
## 使用方法
### 基础部署
```bash
# 部署最新版(自动检测架构和内存)
./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
```
### Python 调用
```python
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 # 详细文档
```
## 部署逻辑
### 1. 芯片检测
```bash
uname -m
# arm64 → 使用 dolphindb/dolphindb-arm64
# x86_64 → 使用 dolphindb/dolphindb
```
### 2. 内存计算
```bash
# 读取本机内存(字节)
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))
```
### 3. Docker 启动命令
```bash
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/<镜像>:<版本>
```
## 验证部署
```bash
# 检查容器状态
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()'))
"
```
## 注意事项
1. **首次部署**:数据目录会自动初始化
2. **升级版本**:保留数据目录,只需更换镜像版本
3. **内存调整**:修改 `maxMemSize` 配置文件后重启容器
4. **端口冲突**:如 8848 被占用,修改 `-p` 参数
## 故障排查
### 容器启动失败
```bash
# 查看详细日志
docker logs dolphindb
# 检查端口占用
lsof -i:8848
```
### 内存不足
```bash
# 降低内存限制
docker run -m 4g ...
```
### 架构不匹配
```bash
# 确认本机架构
uname -m
# 使用对应镜像
# ARM64: dolphindb/dolphindb-arm64
# x86_64: dolphindb/dolphindb
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!