plantcv / Dockerfile
guohanghui's picture
Update Dockerfile
f7562d1 verified
Raw
History Blame Contribute Delete
1.59 kB
FROM python:3.10
# 安装系统依赖(libGL 等)
RUN apt-get update && \
apt-get install -y --no-install-recommends \
libgl1 \
build-essential \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev && \
rm -rf /var/lib/apt/lists/*
# 创建非 root 用户
RUN useradd -m -u 1000 user && \
python -m pip install --upgrade pip
USER user
ENV PATH="/home/user/.local/bin:$PATH"
WORKDIR /app
# 拷贝代码和 requirements
COPY --chown=user ./plantcv /app/plantcv
COPY --chown=user ./requirements.txt requirements.txt
COPY --chown=user ./data/jpg/ /app/data/jpg/
COPY --chown=user ./data/sample/ /app/data/sample/
COPY --chown=user ./output/kmeans/ /app/output/kmeans/
# 测试:查看刚拷贝进去的内容
RUN ls -l /app/plantcv | head -n 20 \
&& ls -l /app/data/jpg | head -n 20 \
&& ls -l /app/data/sample | head -n 20 \
&& ls -l /app/output/kmeans | head -n 20
# 安装 Python 依赖
RUN pip install --user --no-cache-dir -r requirements.txt
# 复制修补脚本
COPY patch_plantcv.py .
# 执行修补
RUN echo "开始修补 PlantCV..." && \
python patch_plantcv.py && \
echo "PlantCV 修补完成"
# 设置 PYTHONPATH 使用源码
ENV PYTHONPATH=/app/plantcv/source:$PYTHONPATH
# 验证修补是否成功
RUN python -c "from plantcv.utils import sample_images; print('✅ PlantCV sample_images 导入成功')"
RUN ls -l /app && ls -l /app/data/sample
# MCP 服务端配置
EXPOSE 7860
ENV MCP_TRANSPORT=http
ENV MCP_PORT=7860
# 启动 MCP 服务
CMD ["python", "plantcv/mcp_output/start_mcp.py"]