# Build Stage # First pull Golang image FROM golang:1.21.3-alpine as builder # Set environment variable ENV APP_NAME niki ENV CMD_PATH main.go # Add a work directory WORKDIR /$APP_NAME ## Cache and install dependencies #COPY go.mod go.sum ./ #RUN go mod download # Copy app files COPY . . # Budild application RUN CGO_ENABLED=0 go build -mod=mod -v -o $APP_NAME . # Run Stage FROM alpine:3.18 as development # Set environment variable ENV APP_NAME niki # Copy only required data into this image COPY --from=builder /$APP_NAME . # Expose application port EXPOSE 1313 # Start app CMD ./$APP_NAME