k3s部署项目

This commit is contained in:
2026-04-16 09:26:00 +08:00
parent ac9ec66890
commit 2d844645a0
10 changed files with 350 additions and 62 deletions

View File

@@ -1,57 +1,37 @@
FROM golang:1.26.0
FROM golang:1.26.0 AS builder
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
ENV WORKDIR /usr/local/bin/app
WORKDIR $WORKDIR
ENV TIME_ZONE=Asia/Seoul
RUN useradd -ms /bin/bash golang
RUN ln -sf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime \
&& chmod 0755 /usr/bin/wall \
&& chmod 0755 /usr/bin/passwd \
&& chmod 0755 /usr/bin/newgrp \
&& chmod 0755 /usr/bin/chfn \
&& chmod 0755 /usr/bin/chage \
&& chmod 0755 /usr/bin/gpasswd \
&& chmod 0755 /usr/bin/chsh \
&& chmod 0755 /usr/bin/expiry \
&& chmod 0755 /bin/umount \
&& chmod 0755 /bin/mount \
&& chmod 0755 /bin/su \
&& chmod 0755 /sbin/unix_chkpwd \
&& chmod 110 /usr/bin/chfn \
&& chmod 110 /usr/bin/passwd \
&& chmod 110 /usr/bin/newgrp \
&& chmod 110 /usr/bin/chsh \
&& chmod 110 /usr/bin/wall \
&& chmod 110 /usr/bin/gpasswd \
&& chmod 110 /usr/bin/expiry \
&& chmod 110 /usr/bin/chage \
&& chmod 110 /bin/mount \
&& chmod 110 /bin/umount \
&& chmod 110 /bin/su \
&& chmod 110 /sbin/unix_chkpwd \
&& chmod 110 /usr/lib/openssh/ssh-keysign \
&& chmod 110 /usr/bin/ssh-agent
WORKDIR /build
COPY go.mod go.sum ./
# RUN chown -R golang:golang $WORKDIR
COPY common ./common
RUN sed -i 's|replace gitea.com/red-future/common => ../common|replace gitea.com/red-future/common => ./common|' go.mod
RUN go mod download && go mod verify
COPY ../../cid $WORKDIR
RUN chown -R golang:golang $WORKDIR
# Remove SetUID, SetGID
RUN chmod 0755 /usr/local/bin/app/api \
&& chmod 0755 /usr/local/bin/app/common \
&& chmod 0755 /usr/local/bin/app/middleware \
&& chmod 0755 /usr/local/bin/app/model \
&& rm -rf .git \
&& rm -rf .gitignore \
&& rm -rf .gitlab-ci.yml \
&& rm -rf Dockerfile.bak \
&& rm -rf config-local.yml
USER golang
RUN go build -v -o /usr/local/bin/app ./...
EXPOSE 3002
CMD ./cid
COPY . .
RUN go mod tidy
RUN CGO_ENABLED=0 GOOS=linux go build -v -o report-engine .
FROM alpine:latest
ENV TIME_ZONE=Asia/Seoul
RUN apk add --no-cache tzdata ca-certificates && \
ln -sf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
WORKDIR /app
COPY --from=builder /build/report-engine .
COPY config.yml .
RUN mkdir -p resource/log/server
EXPOSE 3001
CMD ["./report-engine"]