40 lines
1.0 KiB
Docker
40 lines
1.0 KiB
Docker
ARG BASE_REGISTRY=docker.io/library
|
|
FROM ${BASE_REGISTRY}/golang:1.25-alpine AS builder
|
|
LABEL stage=gobuilder
|
|
|
|
ENV GOPROXY=https://goproxy.cn,direct
|
|
|
|
# RUN apk update --no-cache && apk add --no-cache tzdata
|
|
# 安装GCC和相关依赖
|
|
# RUN apk add --no-cache gcc g++ make autoconf automake binutils-dev gmp-dev isl-dev patchelf
|
|
# RUN apk update --no-cache && apk add --no-cache tzdata git expect
|
|
|
|
WORKDIR /build
|
|
|
|
COPY go.mod go.sum ./
|
|
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
ARG BuildVersion
|
|
ARG BuildTime
|
|
ARG CommitID
|
|
|
|
RUN go build -o iotlcmupstreamchan_svc -ldflags "-w -s -X main.BuildVersion=${BuildVersion} -X main.CommitID=${CommitID} -X main.BuildTime=${BuildTime}"
|
|
|
|
FROM ${BASE_REGISTRY}/alpine:3.23 AS alpine
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata
|
|
# RUN apk update --no-cache && apk add --no-cache ca-certificates
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
EXPOSE 11140
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /build/iotlcmupstreamchan_svc /app/iotlcmupstreamchan_svc
|
|
# Configuration is supplied by the deployment bind mount.
|
|
RUN mkdir -p /app/config
|
|
|
|
CMD ["./iotlcmupstreamchan_svc"]
|