mirror of
https://github.com/gravitl/netmaker.git
synced 2024-11-10 17:48:25 +08:00
39 lines
936 B
Text
39 lines
936 B
Text
FROM debian:buster as builder
|
|
# add glib support daemon manager
|
|
|
|
RUN apt update -y && apt install -y wget bash gcc musl-dev openssl golang git build-essential libmnl-dev iptables
|
|
|
|
RUN wget -O go.tgz https://go.dev/dl/go1.18.linux-amd64.tar.gz
|
|
|
|
RUN tar -C /usr/local -xzf go.tgz
|
|
|
|
WORKDIR /usr/local/go/src
|
|
|
|
RUN chmod +x make.bash
|
|
|
|
RUN ./make.bash
|
|
|
|
ENV PATH="/usr/local/go/bin:$PATH"
|
|
|
|
ENV GOPATH=/opt/go/
|
|
|
|
ENV PATH=$PATH:$GOPATH/bin
|
|
|
|
WORKDIR /app
|
|
|
|
COPY . .
|
|
|
|
ENV GO111MODULE=auto
|
|
|
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 /usr/local/go/bin/go build -ldflags="-w -s" -o netclient-app netclient/main.go
|
|
|
|
FROM debian:buster
|
|
|
|
WORKDIR /root/
|
|
|
|
RUN apt update -y && apt install -y bash curl wget traceroute procps dnsutils iptables openresolv iproute2
|
|
COPY --from=builder /app/netclient-app ./netclient
|
|
COPY --from=builder /app/scripts/netclient.sh .
|
|
RUN chmod 0755 netclient && chmod 0755 netclient.sh
|
|
|
|
ENTRYPOINT ["/bin/sh", "./netclient.sh"]
|