-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.test
More file actions
138 lines (122 loc) · 3.02 KB
/
Dockerfile.test
File metadata and controls
138 lines (122 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# Multi-stage Dockerfile for vallm testing across different systems
# Stage 1: Ubuntu 22.04
FROM ubuntu:22.04 AS ubuntu-22
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
python3.11 \
python3.11-pip \
python3.11-venv \
python3.11-dev \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
RUN python3.11 -m venv /opt/venv
RUN . /opt/venv/bin/activate && pip install -e .[all]
RUN . /opt/venv/bin/activate && vallm --help
RUN . /opt/venv/bin/activate && vallm info
# Stage 2: Ubuntu 24.04
FROM ubuntu:24.04 AS ubuntu-24
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
python3.12 \
python3.12-pip \
python3.12-venv \
python3.12-dev \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
RUN python3.12 -m venv /opt/venv
RUN . /opt/venv/bin/activate && pip install -e .[all]
RUN . /opt/venv/bin/activate && vallm --help
RUN . /opt/venv/bin/activate && vallm info
# Stage 3: Debian 12 (Bookworm)
FROM debian:bookworm AS debian-12
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
python3.11 \
python3-pip \
python3-venv \
python3-dev \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
RUN python3 -m venv /opt/venv
RUN . /opt/venv/bin/activate && pip install -e .[all]
RUN . /opt/venv/bin/activate && vallm --help
RUN . /opt/venv/bin/activate && vallm info
# Stage 4: Alpine Linux
FROM alpine:3.19 AS alpine
RUN apk add --no-cache \
python3-dev \
py3-pip \
py3-virtualenv \
git \
curl \
gcc \
musl-dev \
linux-headers
WORKDIR /app
COPY . .
RUN python3 -m venv /opt/venv
RUN . /opt/venv/bin/activate && pip install -e .[all]
RUN . /opt/venv/bin/activate && vallm --help
RUN . /opt/venv/bin/activate && vallm info
# Stage 5: Fedora 39
FROM fedora:39 AS fedora-39
RUN dnf install -y \
python3.11 \
python3-pip \
python3-devel \
git \
curl \
&& dnf clean all
WORKDIR /app
COPY . .
RUN python3.11 -m venv /opt/venv
RUN . /opt/venv/bin/activate && pip install -e .[all]
RUN . /opt/venv/bin/activate && vallm --help
RUN . /opt/venv/bin/activate && vallm info
# Stage 6: CentOS Stream 9
FROM quay.io/centos/centos:stream9 AS centos-9
RUN dnf install -y \
python3.9 \
python3-pip \
python3-devel \
git \
curl \
&& dnf clean all
WORKDIR /app
COPY . .
RUN python3.9 -m venv /opt/venv
RUN . /opt/venv/bin/activate && pip install -e .[all]
RUN . /opt/venv/bin/activate && vallm --help
RUN . /opt/venv/bin/activate && vallm info
# Stage 7: Python Slim (Debian-based)
FROM python:3.11-slim AS python-slim
RUN apt-get update && apt-get install -y \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
RUN pip install -e .[all]
RUN vallm --help
RUN vallm info
# Stage 8: Python Alpine
FROM python:3.11-alpine AS python-alpine
RUN apk add --no-cache \
git \
curl \
gcc \
musl-dev
WORKDIR /app
COPY . .
RUN pip install -e .[all]
RUN vallm --help
RUN vallm info