Files
go-in-devcontainer/Dockerfile

29 lines
602 B
Docker

FROM golang:tip-alpine3.22 AS builder
COPY . /app
WORKDIR /app
RUN apk update --no-cache && apk add --no-cache \
&& apk add --no-cache make
RUN make build
FROM alpine:3.22.3 AS prod
ARG PROJECT_NAME=learn
ARG APP_USER=${PROJECT_NAME}_user
ARG APP_UID=10001
ARG APP_GID=10001
RUN addgroup -g ${APP_GID} ${APP_USER} && \
adduser -u ${APP_UID} \
-G ${APP_USER} \
-S \
-H \
-D ${APP_USER}
COPY --from=builder /app/bin /srv/${PROJECT_NAME}
RUN chown -R ${APP_USER}:${APP_USER} /srv/
USER ${APP_USER}
WORKDIR /srv/${PROJECT_NAME}
CMD ["./learn"]