4
4
5
5
6
6
# pull official base image
7
- FROM ubuntu:22 .04 as builder
7
+ FROM ubuntu:24 .04 AS builder
8
8
9
9
# set work directory
10
10
WORKDIR /usr/src/app
11
11
12
- RUN apt-get update && apt-get install -y python3-pip dos2unix\
12
+ RUN apt-get update && apt-get install -y python3-pip python3-venv dos2unix\
13
13
&& rm -rf /var/lib/apt/lists/*
14
14
15
15
16
16
# set environment variables
17
17
ENV PYTHONDONTWRITEBYTECODE 1
18
18
ENV PYTHONUNBUFFERED 1
19
19
20
+ RUN python3 -m venv /opt/venv
21
+ # Enable venv
22
+ ENV PATH="/opt/venv/bin:$PATH"
23
+
20
24
21
25
# lint
22
26
RUN pip3 install --upgrade pip
@@ -46,14 +50,15 @@ RUN chmod +x /usr/src/app/entrypoint.prod.sh
46
50
#########
47
51
48
52
49
- FROM ubuntu:22 .04
53
+ FROM ubuntu:24 .04
50
54
51
55
# create directory for the app user
52
56
RUN mkdir -p /home/app
53
57
58
+ RUN apt-get update && apt-get install adduser
54
59
# create the app user
55
- RUN addgroup --system app --gid 1001
56
- RUN adduser --system --group app
60
+ RUN /usr/sbin/ addgroup --system app --gid 1001
61
+ RUN /usr/sbin/ adduser --system --group app
57
62
58
63
# create the appropriate directories
59
64
ENV HOME=/home/app
@@ -66,12 +71,16 @@ WORKDIR $APP_HOME
66
71
67
72
ENV DEBIAN_FRONTEND="noninteractive" TZ="SystemV"
68
73
# install dependencies
69
- RUN apt-get update && apt-get install -y python3-pip python3-openslide libvips libvips-dev python3-opencv netcat \
74
+ RUN apt-get update && apt-get install -y python3-pip python3-venv python3- openslide libvips libvips-dev python3-opencv netcat-traditional \
70
75
&& rm -rf /var/lib/apt/lists/*
71
76
72
77
73
78
COPY --from=builder /usr/src/app/wheels /wheels
74
79
COPY --from=builder /usr/src/app/requirements.txt .
80
+ RUN python3 -m venv /opt/venv
81
+ # Enable venv
82
+ ENV PATH="/opt/venv/bin:$PATH"
83
+
75
84
RUN pip3 install --upgrade pip
76
85
RUN pip3 install numpy==1.26.0
77
86
RUN pip3 install --no-cache /wheels/*
0 commit comments