Files
iotlcm/upstream-chan/build/Dockerfile

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"]