summaryrefslogtreecommitdiff
path: root/src/product-catalog/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/product-catalog/Dockerfile')
-rw-r--r--src/product-catalog/Dockerfile27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/product-catalog/Dockerfile b/src/product-catalog/Dockerfile
new file mode 100644
index 0000000..067a82e
--- /dev/null
+++ b/src/product-catalog/Dockerfile
@@ -0,0 +1,27 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+
+FROM golang:1.24-bookworm AS builder
+
+WORKDIR /usr/src/app/
+
+COPY ./src/product-catalog/go.mod go.mod
+COPY ./src/product-catalog/go.sum go.sum
+
+RUN go mod download
+
+COPY ./src/product-catalog/genproto/oteldemo/ genproto/oteldemo/
+COPY ./src/product-catalog/products/ products/
+COPY ./src/product-catalog/main.go main.go
+
+RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -ldflags "-s -w" -o product-catalog main.go
+
+FROM gcr.io/distroless/static-debian12:nonroot
+
+WORKDIR /usr/src/app/
+
+COPY --from=builder /usr/src/app/product-catalog/ ./
+
+EXPOSE ${PRODUCT_CATALOG_PORT}
+ENTRYPOINT [ "./product-catalog" ]