-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
64 lines (52 loc) · 1.25 KB
/
Dockerfile
File metadata and controls
64 lines (52 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 使用CentOS 7基础镜像以匹配目标环境
FROM centos:7
# 设置工作目录
WORKDIR /app
# 安装基本系统依赖
RUN yum install -y \
gcc \
make \
zlib-devel \
bzip2-devel \
openssl-devel \
ncurses-devel \
sqlite-devel \
readline-devel \
tk-devel \
gdbm-devel \
db4-devel \
libpcap-devel \
xz-devel \
libffi-devel \
curl \
&& yum clean all
# 复制Python安装包
COPY python/Python-3.8.0.tgz /tmp/
COPY python/Python-3.8.0.tgz.asc /tmp/
# 安装Python 3.8
RUN cd /tmp && \
tar -xzf Python-3.8.0.tgz && \
cd Python-3.8.0 && \
./configure --enable-optimizations && \
make -j $(nproc) && \
make altinstall && \
cd / && \
rm -rf /tmp/Python-3.8.0*
# 设置Python环境变量
ENV PATH="/usr/local/bin:${PATH}"
# 复制项目文件
COPY . /app/
# 复制Python依赖包
COPY packages /app/packages/
# 安装Python依赖
RUN python3.8 -m pip install --no-index --find-links=/app/packages -r requirements.txt
# 创建数据目录
RUN mkdir -p /app/data && \
chmod 777 /app/data
# 设置环境变量
ENV PYTHONPATH=/app
ENV PYTHONUNBUFFERED=1
# 确保脚本可执行
RUN chmod +x docker-entrypoint.sh
# 设置容器启动命令
ENTRYPOINT ["./docker-entrypoint.sh"]