forked from ebhomengo/niki
37 lines
610 B
Docker
37 lines
610 B
Docker
# 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 |