Created
August 26, 2019 14:12
-
-
Save marshyon/b7cff20ef31df07de5283dc4c371add4 to your computer and use it in GitHub Desktop.
Deploy a Go web service as an Azure Web Application using Docker - Dockerfile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM golang:latest as builder | |
# Add Maintainer Info | |
LABEL maintainer="Jon Brookes <[email protected]>" | |
# Set the Current Working Directory inside the container | |
WORKDIR /app | |
# Copy go mod and sum files | |
COPY go.mod go.sum jobs.txt ./ | |
# Download all dependencies. Dependencies will be cached if the go.mod and go.sum files are not changed | |
RUN go mod download | |
# Copy the source from the current directory to the Working Directory inside the container | |
COPY . . | |
# Build the Go app | |
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main | |
FROM alpine:latest | |
RUN apk --no-cache add ca-certificates | |
WORKDIR /root/ | |
# Copy the Pre-built binary file from the previous stage | |
COPY --from=builder /app/main . | |
COPY --from=builder /app/jobs.txt . | |
# Expose port 8080 to the outside world | |
EXPOSE 8080 | |
# Command to run the executable | |
CMD ["./main"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment