From 740c34daf3153e2a2f6949f2ed7f2c43d8e99679 Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Wed, 26 Nov 2025 20:47:47 +0700 Subject: [PATCH] feat(docker): add dockerfile --- redis/Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 redis/Dockerfile diff --git a/redis/Dockerfile b/redis/Dockerfile new file mode 100644 index 0000000..00895c4 --- /dev/null +++ b/redis/Dockerfile @@ -0,0 +1,40 @@ +ARG GO_VERSION=1.24.10 +FROM --platform=$BUILDPLATFORM golang:${GO_VERSION} AS build +WORKDIR /src + +RUN --mount=type=cache,target=/go/pkg/mod/ \ + --mount=type=bind,source=go.sum,target=go.sum \ + --mount=type=bind,source=go.mod,target=go.mod \ + go mod download -x + +ARG TARGETARCH + +RUN --mount=type=cache,target=/go/pkg/mod/ \ + --mount=type=bind,target=. \ + CGO_ENABLED=0 GOARCH=$TARGETARCH go build -o /bin/server . + +FROM alpine:latest AS final + +RUN --mount=type=cache,target=/var/cache/apk \ + apk --update add \ + ca-certificates \ + tzdata \ + && \ + update-ca-certificates + +ARG UID=10001 +RUN adduser \ + --disabled-password \ + --gecos "" \ + --home "/nonexistent" \ + --shell "/sbin/nologin" \ + --no-create-home \ + --uid "${UID}" \ + appuser +USER appuser + +COPY --from=build /bin/server /bin/ + +EXPOSE 1999 + +ENTRYPOINT [ "/bin/server" ]