构建Docker镜像

Dockerfile

项目的根目录中有一个Dockerfile文件,您可以从该文件构建docker镜像。Dockerfile中有两种构建方法可供选择。 在执行构建命令时,使用--build-arg参数来控制镜像版本。--build-arg参数默认为yes,这将构建stable版本的qlib镜像。

1.对于stable版本,使用pip install pyqlib来构建qlib镜像。

docker build --build-arg IS_STABLE=yes -t <image name> -f ./Dockerfile .
docker build -t <image name> -f ./Dockerfile .
  1. 对于nightly版本,使用当前源代码构建qlib镜像。

docker build --build-arg IS_STABLE=no -t <image name> -f ./Dockerfile .

自动构建qlib镜像

  1. 在您的项目根目录中有一个build_docker_image.sh文件,可用于自动构建docker镜像并将其上传到您的docker hub仓库(可选,需要配置)。

sh build_docker_image.sh
>>> Do you want to build the nightly version of the qlib image? (default is stable) (yes/no):
>>> Is it uploaded to docker hub? (default is no) (yes/no):
  1. 如果你想将构建的镜像上传到你的docker hub仓库,你需要先编辑你的build_docker_image.sh文件,在文件中填写docker_user,然后执行这个文件。

如何使用qlib图像

  1. 启动一个新的Docker容器

docker run -it --name <container name> -v <Mounted local directory>:/app <image name>
  1. 此时您已进入docker环境,可以运行qlib脚本。例如:

>>> python scripts/get_data.py qlib_data --name qlib_data_simple --target_dir ~/.qlib/qlib_data/cn_data --interval 1d --region cn
>>> python qlib/workflow/cli.py examples/benchmarks/LightGBM/workflow_config_lightgbm_Alpha158.yaml
  1. 退出容器

>>> exit
  1. 重启容器

docker start -i -a <container name>
  1. 停止容器

docker stop -i -a <container name>
  1. 删除容器

docker rm <container name>
  1. 有关使用docker的更多信息,请参阅docker文档