123456789101112131415161718192021222324252627282930313233343536373839 |
- 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://dl.google.com/go/go1.17.1.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"]
|