summaryrefslogtreecommitdiff
path: root/src/recommendation/Dockerfile
diff options
context:
space:
mode:
authorSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
committerSaumit <justsaumit@protonmail.com>2025-09-27 02:14:26 +0530
commit82e03978b89938219958032efb1448cc76baa181 (patch)
tree626f3e54d52ecd49be0ed3bee30abacc0453d081 /src/recommendation/Dockerfile
Initial snapshot - OpenTelemetry demo 2.1.3 -f
Diffstat (limited to 'src/recommendation/Dockerfile')
-rw-r--r--src/recommendation/Dockerfile30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/recommendation/Dockerfile b/src/recommendation/Dockerfile
new file mode 100644
index 0000000..757b5f0
--- /dev/null
+++ b/src/recommendation/Dockerfile
@@ -0,0 +1,30 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+
+FROM docker.io/library/python:3.12-alpine3.22 AS build-venv
+
+RUN apk update && \
+ apk add gcc g++ linux-headers
+
+COPY ./src/recommendation/requirements.txt requirements.txt
+
+RUN python -m venv venv && \
+ venv/bin/pip install --no-cache-dir -r requirements.txt
+
+RUN venv/bin/opentelemetry-bootstrap -a install
+
+FROM docker.io/library/python:3.12-alpine3.22
+
+COPY --from=build-venv /venv/ /venv/
+
+WORKDIR /app
+
+COPY ./src/recommendation/demo_pb2_grpc.py demo_pb2_grpc.py
+COPY ./src/recommendation/demo_pb2.py demo_pb2.py
+COPY ./src/recommendation/logger.py logger.py
+COPY ./src/recommendation/metrics.py metrics.py
+COPY ./src/recommendation/recommendation_server.py recommendation_server.py
+
+EXPOSE ${RECOMMENDATION_PORT}
+ENTRYPOINT [ "/venv/bin/opentelemetry-instrument", "/venv/bin/python", "recommendation_server.py" ]