Optimize dockerfile (#310)

This commit is contained in:
Wendong-Fan 2025-03-16 02:17:12 +08:00 committed by GitHub
commit a98388460a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -7,7 +7,8 @@ ENV PYTHONDONTWRITEBYTECODE=1 \
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \
PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright \
PLAYWRIGHT_BROWSERS_PATH=/root/.cache/ms-playwright \
DEBIAN_FRONTEND=noninteractive
DEBIAN_FRONTEND=noninteractive \
PATH="/app/.venv/bin:$PATH"
# 设置工作目录
WORKDIR /app
@ -18,26 +19,26 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential python3-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 复制项目文件
COPY owl/ ./owl/
COPY licenses/ ./licenses/
COPY assets/ ./assets/
COPY examples/ ./examples/
COPY README.md .
COPY README_zh.md .
COPY pyproject.toml .
# 创建README.md文件以避免构建错误
RUN echo "# OWL Project\n\n这是OWL项目的Docker环境。" > README.md
# 安装uv工具
RUN pip install uv
# 复制构建项目文件
COPY pyproject.toml .
COPY README.md .
# 如果README.md不存在则创建
RUN if [ ! -f "README.md" ]; then echo -e "# OWL Project\n\n这是OWL项目的Docker环境。" > README.md; fi
# 创建虚拟环境并安装依赖
RUN uv venv .venv --python=3.10 && \
. .venv/bin/activate && \
uv pip install -e .
# 复制运行项目文件
COPY owl/ ./owl/
COPY licenses/ ./licenses/
COPY assets/ ./assets/
COPY README_zh.md .
# 创建启动脚本