forked from pathwar/pathwar
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.agent
24 lines (23 loc) · 1.19 KB
/
Dockerfile.agent
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# builder
FROM golang:1.17-alpine as builder
RUN apk --no-cache --update add npm make gcc g++ musl-dev openssl-dev git perl-utils curl
WORKDIR /go/src/pathwar.land
ENV GO111MODULE=on GOPROXY=https://proxy.golang.org,direct
COPY go.mod go.sum ./
RUN go mod download
COPY . .
WORKDIR ./go
RUN make install-full-binary
# runtime
FROM devago/docker-compose
ENV GLIBC_VERSION 2.34-r0
RUN apk add --update curl && \
curl -Lo /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
curl -Lo glibc.apk "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk" && \
curl -Lo glibc-bin.apk "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk" && \
apk add --force glibc-bin.apk glibc.apk && \
/usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \
rm -rf glibc.apk glibc-bin.apk /var/cache/apk/*
COPY --from=builder /go/bin/pathwar /bin/
ENTRYPOINT ["/bin/pathwar"]