Skip to content

Commit cacf2e0

Browse files
author
zhangce5
committed
新增依赖安装方式
1 parent acee43b commit cacf2e0

File tree

3 files changed

+116
-1
lines changed

3 files changed

+116
-1
lines changed

Dockerfile

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
FROM python:3.12-bookworm
2+
3+
WORKDIR /app
4+
5+
# 安装系统依赖
6+
RUN apt-get update && apt-get install -y --no-install-recommends \
7+
build-essential \
8+
gcc \
9+
g++ \
10+
#libmysqlclient-dev \
11+
#default-libmysqlclient-dev \
12+
pkg-config \
13+
git \
14+
wget \
15+
&& rm -rf /var/lib/apt/lists/*
16+
17+
# 安装 TA-Lib
18+
RUN wget https://github.com/ta-lib/ta-lib/releases/download/v0.6.4/ta-lib-0.6.4-src.tar.gz && \
19+
tar -xzf ta-lib-0.6.4-src.tar.gz && \
20+
cd ta-lib-0.6.4/ && \
21+
./configure --prefix=/usr && \
22+
make && \
23+
make install && \
24+
cd .. && \
25+
rm -rf ta-lib ta-lib-0.6.4-src.tar.gz
26+
27+
# 复制依赖文件并安装
28+
COPY requirements.txt .
29+
RUN pip install --no-cache-dir -r requirements.txt
30+
31+
# 复制项目文件
32+
COPY . .
33+
34+
# 创建配置目录
35+
RUN mkdir -p /root/.config/trader /root/.local/share/trader/log
36+
37+
# 设置环境变量
38+
ENV PYTHONPATH=/app
39+
ENV DJANGO_SETTINGS_MODULE=dashboard.settings
40+
ENV DJANGO_ALLOW_ASYNC_UNSAFE=true
41+
42+
# 设置时区
43+
ENV TZ=Asia/Shanghai
44+
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
45+
46+
# 运行命令
47+
CMD ["python", "trader/main.py"]

docker-compose.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
version: '3'
2+
3+
services:
4+
mysql:
5+
image: mysql:8.0
6+
container_name: trader-mysql
7+
restart: always
8+
environment:
9+
MYSQL_ROOT_PASSWORD: 123456
10+
MYSQL_DATABASE: QuantDB
11+
MYSQL_USER: quant
12+
MYSQL_PASSWORD: 123456
13+
volumes:
14+
- mysql_data:/var/lib/mysql
15+
ports:
16+
- "3306:3306"
17+
command:
18+
- --character-set-server=utf8mb4
19+
- --collation-server=utf8mb4_unicode_ci
20+
- --wait_timeout=31536000
21+
- --interactive_timeout=31536000
22+
23+
redis:
24+
image: redis:6.2
25+
container_name: trader-redis
26+
restart: always
27+
volumes:
28+
- redis_data:/data
29+
ports:
30+
- "6379:6379"
31+
32+
trader:
33+
# build:
34+
# context: .
35+
# dockerfile: Dockerfile
36+
image: trader:latest
37+
container_name: trader-app
38+
restart: always
39+
depends_on:
40+
- mysql
41+
- redis
42+
volumes:
43+
- ./:/app
44+
- ../dashboard:/dashboard
45+
- trader_logs:/app/.trader/logs
46+
- trader_cache:/app/.trader/cache
47+
- trader_config:/app/.trader/config
48+
environment:
49+
- MYSQL_HOST=mysql
50+
- MYSQL_PORT=3306
51+
- MYSQL_DB=QuantDB
52+
- MYSQL_USER=quant
53+
- MYSQL_PASSWORD=123456
54+
- REDIS_HOST=redis
55+
- REDIS_PORT=6379
56+
- REDIS_DB=0
57+
# command: python trader/main.py
58+
entrypoint: "bash"
59+
stdin_open: true
60+
tty: true
61+
62+
volumes:
63+
mysql_data:
64+
redis_data:
65+
trader_logs:
66+
trader_cache:
67+
trader_config:

trader/main.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
elif sys.platform == 'win32':
2222
sys.path.append(r'E:\github\dashboard')
2323
else:
24-
sys.path.append('/root/gitee/dashboard')
24+
# sys.path.append('/root/gitee/dashboard')
25+
sys.path.append('/dashboard')
2526
os.environ["DJANGO_SETTINGS_MODULE"] = "dashboard.settings"
2627
os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"
2728
django.setup()

0 commit comments

Comments
 (0)