37 lines
1012 B
Docker
37 lines
1012 B
Docker
# Refer to uv-docker-example:
|
|
# https://github.com/astral-sh/uv-docker-example/blob/main/standalone.Dockerfile
|
|
# Note that we use uv to launch, so we omit the second half of the example (non-UV final image)
|
|
|
|
FROM nvidia/cuda:12.8.0-runtime-ubuntu24.04
|
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
curl \
|
|
libegl-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV UV_COMPILE_BYTECODE=1
|
|
ENV UV_LINK_MODE=copy
|
|
ENV UV_PYTHON_PREFERENCE=only-managed
|
|
|
|
RUN uv python install 3.13
|
|
|
|
WORKDIR /app
|
|
|
|
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 --locked --no-install-project --no-editable --no-dev
|
|
|
|
ADD . /app
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
uv sync --locked --no-editable --no-dev
|
|
|
|
ENV MUJOCO_GL=egl
|
|
EXPOSE 8080
|
|
|
|
CMD ["uv", "run", "python", "tests/smoke_test.py"]
|