6dae3d8ee0
将main.py和firmware_checker目录添加到Docker镜像中,确保容器运行时可以访问所有必要的脚本文件
34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
# 使用Python官方镜像作为基础镜像
|
|
FROM docker.1ms.run/library/python:3.11-slim
|
|
|
|
# 设置工作目录
|
|
WORKDIR /app
|
|
|
|
# 设置环境变量
|
|
# 默认检查间隔为30分钟(可被运行时环境变量覆盖)
|
|
ENV CHECK_INTERVAL_MINUTES=30
|
|
# 企业微信webhook地址(可被运行时环境变量覆盖)
|
|
ENV WECHAT_WEBHOOK_URL='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4226c76e-725b-4990-b926-05f16142e513'
|
|
# 设置Python日志输出环境变量,确保日志不缓冲
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PYTHONIOENCODING=utf-8
|
|
|
|
# 安装依赖
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# 复制脚本文件
|
|
COPY main.py .
|
|
COPY firmware_checker.py .
|
|
COPY firmware_versions.txt .
|
|
COPY firmware_checker/ firmware_checker/
|
|
|
|
# 创建卷,以便可以持久化和修改versions.txt文件
|
|
VOLUME ["/app"]
|
|
|
|
# 添加健康检查(可选)
|
|
HEALTHCHECK --interval=60s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD python -c "import os; import sys; sys.exit(0 if os.path.exists('/app/firmware_checker.py') else 1)" || exit 1
|
|
|
|
# 设置容器启动时执行的命令
|
|
CMD ["python", "main.py"] |