1
1
FROM --platform=linux/x86_64 nvcr.io/nvidia/cuda:12.6.3-cudnn-devel-ubuntu24.04
2
2
3
3
ARG PYTHON_VERSION=3.13
4
- ARG PACKAGES="git curl ca-certificates vim wget unzip build-essential cmake jq"
4
+ ARG PACKAGES="git curl ca-certificates vim wget unzip build-essential cmake jq gnupg "
5
5
6
6
ENV DEBIAN_FRONTEND=noninteractive
7
7
ENV TZ=Asia/Tokyo
@@ -10,17 +10,28 @@ ENV PIP_NO_CACHE_DIR=on
10
10
ENV PYTHONDONTWRITEBYTECODE=1
11
11
ENV UV_PROJECT_ENVIRONMENT="/usr/"
12
12
13
- RUN apt-key adv --keyserver keyserver.ubuntu.com --recv f23c5a6cf475977595c89f51ba6932366a755776 \
14
- && echo "deb http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/python.list \
15
- && echo "deb-src http://ppa.launchpad.net/deadsnakes/ppa/ubuntu jammy main" >> /etc/apt/sources.list.d/python.list
13
+ RUN apt-get update
14
+ RUN apt-get install -y --no-install-recommends ${PACKAGES}
15
+
16
+ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
17
+ --mount=type=cache,target=/var/lib/apt,sharing=locked <<INSTALL_UBUNTU_PYTHON
18
+ fingerprint=F23C5A6CF475977595C89F51BA6932366A755776
19
+ repo=deadsnakes
20
+ subrepo=ppa
21
+ ubuntu_version=$(. /etc/os-release && echo $VERSION_CODENAME)
22
+ curl -sS "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x${fingerprint}" > "./${repo}.asc"
23
+ cat "./${repo}.asc" | gpg --dearmor -o "/etc/apt/keyrings/${repo}.gpg"
24
+ echo "deb [signed-by=/etc/apt/keyrings/${repo}.gpg] http://ppa.launchpad.net/${repo}/${subrepo}/ubuntu ${ubuntu_version} main" | tee -a /etc/apt/sources.list.d/${repo}.list
25
+
26
+ apt-get update
27
+ apt-get install --no-install-recommends -y python${PYTHON_VERSION} python${PYTHON_VERSION}-dev
28
+ ln -nfs /usr/bin/python${PYTHON_VERSION} /usr/bin/python
29
+ ln -nfs /usr/bin/python${PYTHON_VERSION} /usr/bin/python3
30
+ curl -sSL https://bootstrap.pypa.io/get-pip.py | python - --break-system-packages
31
+ rm -rf /var/lib/apt/lists/*
32
+ pip install uv
33
+ INSTALL_UBUNTU_PYTHON
16
34
17
- RUN apt-get update \
18
- && apt-get install -y --no-install-recommends ${PACKAGES} python${PYTHON_VERSION} \
19
- && ln -nfs /usr/bin/python${PYTHON_VERSION} /usr/bin/python \
20
- && ln -nfs /usr/bin/python${PYTHON_VERSION} /usr/bin/python3 \
21
- && rm -rf /var/lib/apt/lists/* \
22
- && curl -sSL https://bootstrap.pypa.io/get-pip.py | python - \
23
- && pip install uv
24
35
RUN pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
25
36
26
37
WORKDIR /app
0 commit comments