|
1 | | -### Compile Image |
2 | | -FROM python:3.11-slim-bookworm AS compile-image |
| 1 | +ARG BASE_IMAGE="python:3.12-slim-bookworm@sha256:31a416db24bd8ade7dac5fd5999ba6c234d7fa79d4add8781e95f41b187f4c9a" |
| 2 | +FROM ${BASE_IMAGE} AS compile-image |
| 3 | + |
| 4 | +ARG DOCKER_VERSION="28.1.1" |
3 | 5 |
|
4 | 6 | RUN apt-get update --fix-missing && \ |
5 | | - apt-get install -y gcc |
| 7 | + apt-get upgrade -y && \ |
| 8 | + apt-get install -y gcc curl bzip2 unzip |
| 9 | + |
| 10 | +# Get docker binary |
| 11 | +ADD https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz / |
| 12 | +RUN tar --extract --file docker-${DOCKER_VERSION}.tgz --directory /tmp/ --strip-components 1 |
6 | 13 |
|
7 | 14 | WORKDIR /opt/seatable-python-starter |
8 | 15 | COPY ["./requirements.txt", "/opt/seatable-python-starter/"] |
9 | 16 |
|
10 | 17 | # Upgrade setuptools to fix vulnerabilities |
11 | 18 | RUN pip install --upgrade setuptools && \ |
12 | 19 | pip install --upgrade --user setuptools && \ |
13 | | - pip install -r /opt/seatable-python-starter/requirements.txt --user --break-system-packages |
| 20 | + pip install -r /opt/seatable-python-starter/requirements.txt --user |
14 | 21 |
|
15 | 22 | ### Runtime image |
16 | | -FROM python:3.11-slim-bookworm AS runtime-image |
| 23 | +FROM ${BASE_IMAGE} AS runtime-image |
17 | 24 |
|
18 | 25 | RUN apt-get update --fix-missing && \ |
19 | | - apt-get autoremove -y && \ |
20 | | - apt-get clean && \ |
| 26 | + apt-get upgrade -y && \ |
21 | 27 | export DEBIAN_FRONTEND=noninteractive && \ |
22 | | - apt-get install -y tzdata procps cron logrotate docker.io gcc curl |
| 28 | + apt-get install -y \ |
| 29 | + tzdata \ |
| 30 | + procps \ |
| 31 | + cron \ |
| 32 | + logrotate && \ |
| 33 | + apt-get autoremove -y && \ |
| 34 | + apt-get clean |
| 35 | + |
| 36 | +COPY --from=compile-image /tmp/docker /usr/local/bin/docker |
| 37 | +RUN chmod +x /usr/local/bin/docker |
23 | 38 |
|
24 | 39 | WORKDIR /opt/seatable-python-starter |
25 | 40 | COPY ["./", "./"] |
|
0 commit comments