更新 dockerfile 中对于 uv 的配置
This commit is contained in:
parent
7449938775
commit
d9ef3fc3e3
@ -1,9 +1,16 @@
|
||||
# 使用基础镜像
|
||||
FROM python:3.12
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.7.2 /uv /uvx /bin/
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 设置时区为 UTC+8
|
||||
ENV TZ=Asia/Shanghai
|
||||
ENV UV_LINK_MODE=copy
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
|
||||
# 安装系统依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
python3-dev \
|
||||
@ -11,16 +18,19 @@ RUN apt-get update && apt-get install -y \
|
||||
libsm6 \
|
||||
libxext6
|
||||
|
||||
# 复制 requirements.txt 文件(这一步如果文件没变,Docker 会使用缓存)
|
||||
# COPY../requirements.txt /app/requirements.txt
|
||||
COPY ../pyproject.toml /app/pyproject.toml
|
||||
COPY ../.python-version /app/.python-version
|
||||
|
||||
# 安装依赖(Docker 会缓存这一步,除非 requirements.txt 发生变化)
|
||||
RUN pip install uv
|
||||
RUN uv sync
|
||||
# 安装依赖项
|
||||
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||
--mount=type=bind,source=uv.lock,target=uv.lock \
|
||||
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
||||
uv sync --frozen --no-install-project
|
||||
|
||||
# 复制代码到容器中
|
||||
COPY ../src /app/src
|
||||
COPY ../server /app/server
|
||||
COPY ../pyproject.toml /app/pyproject.toml
|
||||
COPY ../.python-version /app/.python-version
|
||||
COPY ../uv.lock /app/uv.lock
|
||||
|
||||
# 同步项目
|
||||
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||
uv sync --frozen
|
||||
Loading…
Reference in New Issue
Block a user