本專案提供多種 Docker 映像檔配置,以滿足不同的使用需求。所有映像都包含 Python 3.13 和 shioaji[speed] 套件,支援完整的 PyO3 橋接功能。
| Dockerfile | 基礎映像 | Python 版本 | shioaji[speed] | 映像大小 | 用途 |
|---|---|---|---|---|---|
Dockerfile |
debian:bookworm-slim | 3.13 | ✅ | 180MB | 生產環境輕量版 |
Dockerfile.python |
python:3.13-slim | 3.13 | ✅ | 200MB | Python 3.13 + PyO3 橋接(推薦) |
Dockerfile.alpine |
alpine:3.19 | 3.13 | ✅ | 70MB | 超輕量資源受限環境 |
Dockerfile.macos |
debian:bookworm-slim (ARM64) | 3.13 | ✅ | 120MB | macOS ARM64 開發環境 |
# Python 3.13 + PyO3 橋接(推薦)
docker build -t rshioaji:python313 -f Dockerfile.python .
docker run --rm -v $(pwd)/.env:/app/.env:ro rshioaji:python313 --stock 2330# Python 3.13 輕量版
docker build -t rshioaji:latest .
docker run --rm -v $(pwd)/.env:/app/.env:ro rshioaji:latest --stock 2330# Alpine 超輕量版
docker build -t rshioaji:alpine -f Dockerfile.alpine .
docker run --rm -v $(pwd)/.env:/app/.env:ro rshioaji:alpine --stock 2330- ✅ Python 3.13 + PyO3 橋接:使用 python:3.13-slim 確保最新相容性
- ✅ shioaji[speed] 整合:內建高效能 shioaji 套件
- ✅ 運行時平台檢測:支援環境變數覆蓋平台檢測
- ✅ 多階段建置:分離建置與運行環境,減少映像大小
- ✅ 安全配置:非 root 用戶執行,最小攻擊面
- ✅ PyO3 橋接支援:完整的 Rust-Python 互操作性
- 原始大小:1.87GB (未優化)
- Python 3.13 + PyO3:200MB (89.3% 減少)
- Python 3.13 輕量:180MB (90.4% 減少)
- Alpine + shioaji:70MB (96.3% 減少)
所有 Dockerfile 都支援:
- 跨平台建置: linux/amd64, linux/arm64
- 環境變數配置: .env 檔案支援
- PyO3 橋接: 完整的 Rust-Python 互操作性
- shioaji[speed] 整合: 高效能市場資料處理
- 速度優化功能: --features speed 編譯選項
- 完整整合: 所有映像都包含 shioaji[speed] 套件
- Python 3.13: 最新 Python 版本支援
- 回調系統: 支援即時市場資料回調
- 高效能: 結合 Rust 效能與 Python 生態系統
# 建置推薦版本
docker build -t rshioaji:python313 -f Dockerfile.python .
# 執行並測試回調系統
docker run --rm -v $(pwd)/.env:/app/.env:ro \
rshioaji:python313 \
--example test_complete_system
# 查看系統資訊
docker run --rm rshioaji:python313 \
python3 -c "import shioaji; print('shioaji version:', shioaji.__version__)"