Add Cloud Run support
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
This commit is contained in:
33
examples/cloud-run-app/go-http-server/Dockerfile
Normal file
33
examples/cloud-run-app/go-http-server/Dockerfile
Normal file
@@ -0,0 +1,33 @@
|
||||
# Use the offical golang image to create a binary.
|
||||
# This is based on Debian and sets the GOPATH to /go.
|
||||
# https://hub.docker.com/_/golang
|
||||
FROM golang:1.16-buster as builder
|
||||
|
||||
# Create and change to the app directory.
|
||||
WORKDIR /app
|
||||
|
||||
# Retrieve application dependencies.
|
||||
# This allows the container build to reuse cached dependencies.
|
||||
# Expecting to copy go.mod and if present go.sum.
|
||||
COPY go.* ./
|
||||
RUN go mod download
|
||||
|
||||
# Copy local code to the container image.
|
||||
COPY . ./
|
||||
|
||||
# Build the binary.
|
||||
RUN go build -v -o server
|
||||
|
||||
# Use the official Debian slim image for a lean production container.
|
||||
# https://hub.docker.com/_/debian
|
||||
# https://docs.docker.com/develop/develop-images/multistage-build/#use-multi-stage-builds
|
||||
FROM debian:buster-slim
|
||||
RUN set -x && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
||||
ca-certificates && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy the binary to the production image from the builder stage.
|
||||
COPY --from=builder /app/server /app/server
|
||||
|
||||
# Run the web service on container startup.
|
||||
CMD ["/app/server"]
|
Reference in New Issue
Block a user