2
0

Dockerfile-netmaker-slim 727 B

12345678910111213141516171819202122232425262728293031323334
  1. #first stage - builder
  2. FROM gravitl/builder as builder
  3. WORKDIR /app
  4. COPY . .
  5. ENV GO111MODULE=auto
  6. RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
  7. WORKDIR /app/netclient
  8. RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 /usr/local/go/bin/go build -ldflags="-w -s" -o netclient main.go
  9. #second stage
  10. FROM alpine:3.13.6
  11. # add a c lib
  12. RUN apk add gcompat iptables
  13. # set the working directory
  14. WORKDIR /root/
  15. RUN mkdir /etc/netclient
  16. COPY --from=builder /app/netmaker .
  17. COPY --from=builder /app/config config
  18. COPY --from=builder /app/netclient/netclient /etc/netclient/netclient
  19. RUN chmod 0755 /etc/netclient/netclient
  20. EXPOSE 8081
  21. EXPOSE 50051
  22. ENTRYPOINT ["./netmaker"]