mirror of
https://github.com/JoeanAmier/XHS-Downloader.git
synced 2025-12-26 04:48:05 +08:00
build: 优化 Docker 构建过程并添加新平台支持
This commit is contained in:
parent
348e8bd40d
commit
7102565c64
2
.github/workflows/Manually_docker_image.yml
vendored
2
.github/workflows/Manually_docker_image.yml
vendored
@ -86,7 +86,7 @@ jobs:
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
push: true
|
||||
tags: ${{ env.TAGS }}
|
||||
provenance: false
|
||||
|
||||
2
.github/workflows/Release_docker_image.yml
vendored
2
.github/workflows/Release_docker_image.yml
vendored
@ -48,7 +48,7 @@ jobs:
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
platforms: linux/amd64,linux/arm64,linux/arm/v7
|
||||
push: true
|
||||
tags: |
|
||||
${{ env.DOCKER_REPO }}:${{ github.event.release.tag_name }}
|
||||
|
||||
35
Dockerfile
35
Dockerfile
@ -1,20 +1,47 @@
|
||||
FROM python:3.12-slim
|
||||
# ---- 阶段 1: 构建器 (Builder) ----
|
||||
# 使用一个功能完整的镜像,它包含编译工具或可以轻松安装它们
|
||||
FROM python:3.12-bullseye as builder
|
||||
|
||||
# 安装编译 uvloop 和 httptools 所需的系统依赖 (C编译器等)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 复制需求文件
|
||||
COPY requirements.txt .
|
||||
|
||||
# 在这个具备编译环境的阶段安装所有 Python 依赖
|
||||
# 安装到一个独立的目录 /install 中,以便后续复制
|
||||
RUN pip install --no-cache-dir --prefix="/install" -r requirements.txt
|
||||
|
||||
# ---- 阶段 2: 最终镜像 (Final Image) ----
|
||||
# 使用轻量级 slim 镜像作为最终的运行环境
|
||||
FROM python:3.12-slim
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 添加元数据标签
|
||||
LABEL name="XHS-Downloader" authors="JoeanAmier" repository="https://github.com/JoeanAmier/XHS-Downloader"
|
||||
|
||||
# 从构建器阶段,将已经安装好的依赖包复制到最终镜像的系统路径中
|
||||
COPY --from=builder /install /usr/local
|
||||
|
||||
# 复制项目代码和相关文件
|
||||
COPY locale /app/locale
|
||||
COPY source /app/source
|
||||
COPY static/XHS-Downloader.tcss /app/static/XHS-Downloader.tcss
|
||||
COPY LICENSE /app/LICENSE
|
||||
COPY main.py /app/main.py
|
||||
COPY requirements.txt /app/requirements.txt
|
||||
|
||||
RUN pip install --no-cache-dir -r /app/requirements.txt
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 5556
|
||||
|
||||
# 创建挂载点
|
||||
VOLUME /app/Volume
|
||||
|
||||
# 设置容器启动命令
|
||||
CMD ["python", "main.py"]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user