Links

Docker一键部署

提纲挈领的讲 此段内容分为4部分
  1. 1.
    安装docker
  2. 2.
    配置qa-service的环境
  3. 3.
    以上两步干完了你改干啥
  4. 4.
    如果你还闲得慌想要深入学习下docker的话
  5. 5.
    看完这个教程以后 可以继续看

1. 安装docker

ubuntu 一键脚本(仅限linux!!!!! 看清楚!!!!)

wget https://raw.githubusercontent.com/QUANTAXIS/QUANTAXIS/master/config/install_docker.sh
sudo bash install_docker.sh

win/mac 安装

win/mac 下的docker 需要手动安装一个docker desktop
非常简单 去docker网站下载win/mac的docker_desktop 或者 文件较大, 我在群文件也共享了
ps: quantaxis强烈推荐不要使用win10以下的系统...(好吧忽略我)
注意在安装exe的时候 最后一步 关于在使用windows container的地方 一定不要勾选 !!!!!!
到此处 你应该已经装起来了一个docker
然后我们往下看

2. 使用QA_SERVICE(配置qa-service的环境)

qaservice是一个帮你预装/预拉起好一切东西的一个docker environment 你需要理解的是 这个environment
你如果只是想使用(指的是 包括且不限于: 就想写个回测/ 就想实盘 / 就想看个可视化 / 这类) 的话, 只需要拉起这个qaservice环境即可, 你不需要不需要不需要学docker!! 注意 不需要会用docker!!!!
如果你需要二次开发=> 对我说的就是特别喜欢魔改别人代码的你 或者 你需要和你现有的功能组合的话 ==> 也不建议用docker, 建议在本地调试本地部署完毕以后, 再学习怎么制作docker镜像==> 实现你的二次开发/分发需求
你需要注意的是 qaenvironment是需要做一些预处理的
1/ 我们需要创建两个docker volume (1个是qamg 用来装数据库的数据文件 1个是qacode 用来存你写的代码)
2/ 在你对于docker volume的理解里 docker volume 就是在docker级别的可移动硬盘
3/ docker volume仅需要创建一次
4/ 这个qaservice的environment 需要一个叫做docker-compose.yaml的文件
4.1/ 你不需要理解docker-compose.yaml文件里的内容, 你只需要知道 这个yaml 是关于这个环境配置的设置文件
4.2/ 你唯一需要做的就是 建一个文件夹(爱建在哪里建哪里) 下载这个docker-compose.yaml ==> 复制粘贴进去
以上都是对win/mac的小白用户说的, 如果你已经是一个linux用户, 我默认你是一个精通百度搜索的男人...

linux下的qa-service使用

第一次使用
wget https://raw.githubusercontent.com/QUANTAXIS/QUANTAXIS/master/docker/qaservice_docker.sh
sudo bash qaservice_docker.sh
后续使用 ==> cd 到有docker-compose.yaml的文件夹
docker-compose up -d

mac/windows下的qa-service使用

第一次使用
  1. 1.
    打开你的命令行, 输入
docker volume create --name=qamg
docker volume create --name=qacode
如果你不知道咋下载 可以去qq群 群文件下载
  1. 1.
    找到你心爱的文件夹, 把这个宝贵的yaml放进去, 并记住你的文件夹目录(比如D:/qa/)
  2. 2.
    打开你的命令行继续输入
cd D:/qa (此处就是你心爱的文件夹的目录)
docker-compose up
后续使用
cd D:/qa (此处就是你心爱的文件夹的目录)
docker-compose pull (这里的意思是更新docker文件)
docker-compose up

3.怎么用docker?

你需要知道的是 quantaxis致力于帮你把配置环境这些脏活干完以后, 他实现了
==> 帮你直接开启你需要的服务
==> 你可以直接访问html界面来写回测/ 看回测/ 上实盘等
==> 如果你本地有python环境 你可以在本地写, 并使用qaservice帮你开启的环境(比如数据库环境/ 比如mq环境)
端口:
  • 27017 mongodb
  • 8888 jupyter
  • 8010 quantaxis_webserver
  • 81 quantaxis_community 社区版界面
  • 61208 系统监控
  • 15672 qa-eventmq
然后就可以开始你的量化之路了骚年!
你需要注意的事情是
  1. 1.
    docker和本地环境是可以并存的 没有人说过(就算说了也肯定不是我说的) 有了本地python就不能有docker了
  2. 2.
    docker 的目的是方便你快速拉起 如果你真的很有兴趣把我辛辛苦苦写的18个quantaxis及相关模块都本地部署一遍我是非常欢迎的

4.后面内容为docker进阶部分(指的是 如果你看不懂且不愿意看 就不用看)

查看每天数据更新日志:

docker logs cron容器名
日志只输出到容器前台,如果日志对你很重要,建议用专业的日志收集工具,从cron容器收集日志

查看服务状态

docker ps
docker stats
docker-compose top
docker-compose ps

停止/删除 QUANTAXIS 服务 (包括 QUANTAXIS,自动更新服务,数据库容器):

!!! 注意 这两条真的超级管用!!!! 不信你可以试下
停止:
docker stop $(docker ps -a -q)
删除:
docker rm $(docker ps -a -q)

更新:

docker-compose pull

数据库备份(备份到宿主机当前目录,文件名:dbbackup.tar):

  1. 1.
    停止服务
    docker-compose stop
  2. 2.
    备份到当前目录
    docker run --rm -v qamg:/data/db \
    -v $(pwd):/backup alpine \
    tar zcvf /backup/dbbackup.tar /data/db

数据库还原(宿主机当前目录下必要有以前备份过的文件,文件名:dbbackup.tar):

  1. 1.
    停止服务
    docker-compose stop
  2. 2.
    还原当前目录下的dbbackup.tar到mongod数据库
    docker run --rm -v qamg:/data/db \
    -v $(pwd):/backup alpine \
    sh -c "cd /data/db \
    && rm -rf diagnostic.data \
    && rm -rf journal \
    && rm -rf configdb \
    && cd / \
    && tar xvf /backup/dbbackup.tar"
  3. 3.
    重新启动服务
    docker-compose up -d