股票交易系统的Docker后端:)

1)安装WSL+Ubuntu+Docker
- 确保Window系统已安装WSL。
具体请参考安装WSL | Microsoft Learn - 下载ubuntu与Docker-Desktop。
具体请参考0基础基于最新WSL2的Window Docker安装及搭建内网穿透保姆级教程 - 检查Docker版本,确保其支持最新功能。
这里有个
小撇步。因为一般Docker-Desktop会默认下在C盘,而且还不能设置下载目录。下完以后,您可以把整个Docker文件夹放在D盘,然后在原来的C盘存取Docker的根目录位置建立一个符号链接,链接到D盘。让电脑“假装”那些文件是在C盘的。不论您是否迁移了文件夹,当您点开您Docker-Desktop的所在根目录下的Docker源文件夹,电脑显示出来的文件资源内容是一样的,只是它们本身所在的目录是不同的。
管理磁盘空间是极其重要的。请您自己多完成一个小任务。当然,您也可以按照自己的方法管理磁盘空间。
任务1:怎么用建立符号链接的方法使得Docker整个项目以及其后续产生的文件不占用C盘空间?
mklink | Microsoft Learn
2)创建项目文件夹
- 在F盘(或是您喜欢的盘),新建一个目录
F:\无咫云智能投顾平台,用于存放项目文件。
您可以把项目文件夹改成您喜欢的名字,比如“逆天炸裂智能投顾平台”(……这个名字有点蠢……无伤大雅)。总之,博主强烈支持您将着手过的所有项目个性化,改成自己喜欢的名字。😃
- 在项目目录中创建必要的文件,包括
Dockerfile(这是个没有后缀名的文件,新建txt文件改好名字删掉后缀名,然后左键点击空白处即可)、requirements.txt等。确保项目结构清晰,便于后续维护。 - 设置目录桌面快捷方式,方便后续访问。

Dockerfile:
# Use AKTools image with Python 3.11 base from AKShare
FROM registry.cn-shanghai.aliyuncs.com/akfamily/aktools:1.7.27
# Set the working directory
WORKDIR /home
# Install system dependencies for Python and necessary libraries
RUN sed -i 's|http://archive.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list && \
apt update && apt-get update && \
apt install -y \
curl \
git \
libsdl2-dev libsdl2-image-dev libjpeg-dev libsdl2-mixer-dev \
libsdl2-ttf-dev libportmidi-dev pkg-config libfreetype6-dev \
build-essential python3-dev \
python3-distutils \
cmake libopenmpi-dev zlib1g-dev libgl1-mesa-glx swig && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Install Node.js (version 18.x for JupyterLab compatibility)
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
apt-get install -y nodejs && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Copy requirements.txt to the container
COPY requirements.txt /home/requirements.txt
# Install Python dependencies
RUN pip install --upgrade pip six wheel && \
pip install -r requirements.txt && \
pip install flask pyhive setuptools akshare pandas numpy thrift_sasl thrift && \
pip install git+https://github.com/AI4Finance-Foundation/FinRL.git && \
pip install jupyterlab ipywidgets notebook widgetsnbextension
# Clone FinRL repository (optional, if needed for scripts)
RUN git clone https://github.com/AI4Finance-Foundation/FinRL.git
# Expose JupyterLab port
EXPOSE 8888
# Start JupyterLab
CMD ["jupyter", "lab", "--ip", "0.0.0.0", "--port", "8888", "--no-browser", "--allow-root"]
requirements.txt:
absl-py==2.1.0
aiodns==3.2.0
aiohappyeyeballs==2.4.3
aiohttp==3.11.8
aiohttp-cors==0.7.0
aiosignal==1.3.1
akracer==0.0.13
akshare==1.15.40
aktools==0.0.70
ale-py==0.10.1
alpaca-trade-api==3.2.0
anyio==3.6.1
appdirs==1.4.4
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
async-timeout==5.0.1
asyncio==3.4.3
attrs==24.2.0
babel==2.16.0
beautifulsoup4==4.11.1
bleach==6.2.0
blinker==1.9.0
cachetools==5.5.0
cattrs==22.1.0
ccxt==3.1.60
certifi==2022.9.14
cffi==1.17.1
cfscrape==2.1.1
charset-normalizer==2.1.1
clarabel==0.9.0
click==8.1.3
cloudpickle

最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



