-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
57 lines (37 loc) · 1.57 KB
/
Copy pathDockerfile
File metadata and controls
57 lines (37 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
FROM ubuntu:24.04
ARG GOLANG_VERSION=1.26.4
ARG TARGETARCH
RUN apt-get update && apt-get install -y --no-install-recommends \
git curl ca-certificates
COPY rawdataforecaster/build/package/golang_checksums.txt /tmp/golang_checksums.txt
RUN \
curl -L -O https://go.dev/dl/go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \
GOLANG_SHA256=$(grep "go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz" /tmp/golang_checksums.txt | awk '{print $1}') && \
sha256sum go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz | grep -q ${GOLANG_SHA256} && \
tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \
rm go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz
ENV GOPATH=/go
ENV PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc g++ pkg-config \
libgdal-dev
COPY go.mod /src/go.mod
COPY go.sum /src/go.sum
WORKDIR /src
RUN go mod download
COPY internal/ /src/internal/
COPY internalprotocol /src/internalprotocol
COPY correctedforecaster/internal/ /src/correctedforecaster/internal/
RUN go test ./...
COPY correctedforecaster/cmd/ /src/correctedforecaster/cmd
WORKDIR /src/correctedforecaster/cmd/correctedforecaster
RUN go build
FROM ubuntu:24.04
ARG TARGETARCH
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
libgdal34t64 ca-certificates
COPY --from=0 /src/correctedforecaster/cmd/correctedforecaster/correctedforecaster /usr/local/bin
USER nobody
ENTRYPOINT [ "/usr/local/bin/correctedforecaster" ]