From 867d0475eb2b08d654b714a6ab0a8e168544d1b6 Mon Sep 17 00:00:00 2001 From: bvwl <2201101122@qq.com> Date: Thu, 20 Nov 2025 22:46:05 +0800 Subject: [PATCH] 0.0.5 --- README.md | 2 ++ back/Dockerfile | 30 ++++++++++++++++++++++++++++++ back/compose.yml | 29 +++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100755 back/Dockerfile create mode 100755 back/compose.yml diff --git a/README.md b/README.md index 2c2f921..9564bd8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# 0.0.5 +- 完善dockerfile # 0.0.4 - 完善脚本和接口 # 0.0.3 diff --git a/back/Dockerfile b/back/Dockerfile new file mode 100755 index 0000000..beb22c7 --- /dev/null +++ b/back/Dockerfile @@ -0,0 +1,30 @@ +# 运行环境 +FROM python:3.12-slim + +# 设置时区 +ENV TZ=Asia/Shanghai +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# 设置工作目录和Python环境变量 +WORKDIR /app +ENV PYTHONUNBUFFERED=1 \ + PYTHONDONTWRITEBYTECODE=1 + +# 安装系统依赖 +RUN sed -i 's|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g' /etc/apt/sources.list.d/debian.sources \ + && sed -i 's|http://security.debian.org/debian-security|http://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list.d/debian.sources \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + gcc \ + python3-dev \ + tzdata \ + && rm -rf /var/lib/apt/lists/* + +# 优化:先复制依赖文件,避免每次代码变更都重新安装依赖 +COPY requirements.txt /app/ +RUN pip install --no-cache-dir -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple +# 复制项目文件 +COPY . /app + +# 设置启动命令 +CMD ["python", "main.py"] \ No newline at end of file diff --git a/back/compose.yml b/back/compose.yml new file mode 100755 index 0000000..437cb46 --- /dev/null +++ b/back/compose.yml @@ -0,0 +1,29 @@ +services: + # 容器服务名称 + CaAutoTable: + # 容器名称 + container_name: CaAutoTable + build: + # 在当前目录下寻找Dockerfile文件并构建镜像 + context: . + dockerfile: Dockerfile + # 重启策略 + restart: always + # 挂载目录 本地化容器数据 + # 这里挂载了本地当前目录的app目录到容器的/app目录 + volumes: + - .:/app + # 环境变量 可以在Dockerfile中配置环境变量,应用中获取 + environment: + - NAME=CaAutoTable + - TZ=Asia/Shanghai + # 端口映射 容器端口映射到主机端口 + ports: + - "6060:6060" + # 日志配置 - 限制日志大小并启用日志轮转 + logging: + driver: "json-file" + options: + max-size: "10m" # 单个日志文件最大10MB + max-file: "3" # 保留最多3个日志文件 + compress: "true" # 压缩旧日志文件