Skip to content

Instantly share code, notes, and snippets.

@ei-grad
Last active June 24, 2025 13:33
Show Gist options
  • Save ei-grad/c1a58020fa5dba4a5da8627d489ae0b5 to your computer and use it in GitHub Desktop.
Save ei-grad/c1a58020fa5dba4a5da8627d489ae0b5 to your computer and use it in GitHub Desktop.
FROM python:3.12-slim-bookworm AS plain
ENV UV_LINK_MODE=copy
ENV UV_SYSTEM_PYTHON=1
ENV UV_TOOL_DIR=/opt/uv-tools
ENV UV_TOOL_BIN_DIR=/usr/local/bin
RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \
--mount=type=cache,target=/root/.cache/uv \
uv tool install 'dvc'
FROM python:3.12-slim-bookworm AS all
ENV UV_LINK_MODE=copy
ENV UV_SYSTEM_PYTHON=1
ENV UV_TOOL_DIR=/opt/uv-tools
ENV UV_TOOL_BIN_DIR=/usr/local/bin
RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \
--mount=type=cache,target=/root/.cache/uv \
uv tool install 'dvc[all]'
FROM debian:bookworm-slim AS debian
ENV UV_LINK_MODE=copy
ENV UV_TOOL_DIR=/opt/uv-tools
ENV UV_TOOL_BIN_DIR=/usr/local/bin
RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \
--mount=type=cache,target=/root/.cache/uv \
uv tool install 'dvc'
FROM python:3.12-alpine AS alpine
ENV UV_LINK_MODE=copy
ENV UV_SYSTEM_PYTHON=1
ENV UV_TOOL_DIR=/opt/uv-tools
ENV UV_TOOL_BIN_DIR=/usr/local/bin
RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \
--mount=type=cache,target=/root/.cache/uv \
--mount=type=cache,target=/var/cache/apk \
apk update && apk add gcc musl-dev linux-headers && \
uv tool install 'dvc' && \
apk del gcc musl-dev linux-headers
FROM python:3.12-alpine AS alpine-all
ENV UV_LINK_MODE=copy
ENV UV_SYSTEM_PYTHON=1
ENV UV_TOOL_DIR=/opt/uv-tools
ENV UV_TOOL_BIN_DIR=/usr/local/bin
RUN --mount=from=ghcr.io/astral-sh/uv,source=/uv,target=/bin/uv \
--mount=type=cache,target=/root/.cache/uv \
--mount=type=cache,target=/var/cache/apk \
apk update && apk add gcc musl-dev linux-headers && \
uv tool install 'dvc[all]' && \
apk del gcc musl-dev linux-headers
dvc all 687MB
dvc alpine-all 595MB
dvc debian 399MB
dvc plain 323MB
dvc alpine 207MB
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment