-
Notifications
You must be signed in to change notification settings - Fork 16
/
Dockerfile
23 lines (17 loc) · 903 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FROM python:3.11.9-bookworm as deps
COPY src.python.arcor2_build.scripts/build.pex /binary.pex
RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=deps --compile /bin/app
FROM python:3.11.9-bookworm as srcs
COPY src.python.arcor2_build.scripts/build.pex /binary.pex
RUN PEX_TOOLS=1 PYTHONOPTIMIZE=1 /usr/local/bin/python /binary.pex venv --scope=srcs --compile /bin/app
FROM python:3.11.9-bookworm
# curl is for healthcheck
RUN apt-get update \
&& apt-get install -y -q --no-install-recommends libgl1-mesa-glx=22.3.6-1+deb12u1 libglib2.0-0=2.74.6-2+deb12u2 curl=7.88.1-10+deb12u5 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/bin/app/pex"]
COPY --from=deps /bin/app /bin/app
COPY --from=srcs /bin/app /bin/app
EXPOSE 5008
HEALTHCHECK --interval=5s --start-period=60s CMD curl -f http://localhost:5008/healthz/ready || exit 1