问题现象
用uv管理一个 Python 命令行工具,pyproject.toml里声明了入口:
[build-system] requires = ["uv_build >= 0.9.9, <0.10.0"] build-backend = "uv_build" [project.scripts] sandworm = "sandworm.cli:main"想把工具打进镜像,最终阶段基于gcc镜像(这是个构建自动化工具,需要编译环境)。多阶段构建写成这样:
FROM ghcr.io/astral-sh/uv:python3.10-trixie AS builder COPY . /app RUN cd /app && \ uv tool install . FROM gcc:15-trixie COPY --from=builder /usr/local/lib/python3.10 /usr/local/lib/python3.10 COPY --from=builder /usr/local/lib/libpython* /usr/local/lib COPY --from=builder /usr/local/bin/python3* /usr/local/bin COPY --from=builder /usr/local/bin/sandworm /usr/