mirror of
https://github.com/gravitl/netmaker.git
synced 2024-09-20 23:36:18 +08:00
started work on smaller images
This commit is contained in:
parent
a36aa5cc89
commit
df132e2396
23
Dockerfile-builder
Normal file
23
Dockerfile-builder
Normal file
|
@ -0,0 +1,23 @@
|
|||
FROM alpine:3.13.6
|
||||
|
||||
RUN apk add --no-cache --virtual .build-deps bash gcc musl-dev openssl go
|
||||
|
||||
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
|
||||
|
||||
RUN apk del .build-deps
|
||||
|
||||
RUN apk add build-base
|
36
Dockerfile-netmaker-slim
Normal file
36
Dockerfile-netmaker-slim
Normal file
|
@ -0,0 +1,36 @@
|
|||
#first stage - builder
|
||||
FROM gravitl/builder as builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY . .
|
||||
|
||||
ENV GO111MODULE=auto
|
||||
|
||||
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
|
||||
|
||||
WORKDIR /app/netclient
|
||||
|
||||
|
||||
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netclient main.go
|
||||
#second stage
|
||||
|
||||
FROM alpine:3.13.6
|
||||
# add glib support daemon manager
|
||||
RUN apk add gcompat iptables
|
||||
# set the working directory
|
||||
WORKDIR /root/
|
||||
|
||||
RUN mkdir /etc/netclient
|
||||
|
||||
COPY --from=builder /app/netmaker .
|
||||
COPY --from=builder /app/config config
|
||||
COPY --from=builder /app/netclient/netclient /etc/netclient/netclient
|
||||
COPY --from=builder /app/scripts/daemon.sh .
|
||||
|
||||
EXPOSE 8081
|
||||
EXPOSE 50051
|
||||
RUN touch /etc/netclient/netclient.logs
|
||||
RUN sh daemon.sh
|
||||
|
||||
ENTRYPOINT ["./netmaker"]
|
26
Dockerfile-netmaker-slim-solo
Normal file
26
Dockerfile-netmaker-slim-solo
Normal file
|
@ -0,0 +1,26 @@
|
|||
FROM gravitl/builder:latest as builder
|
||||
# add glib support daemon manager
|
||||
WORKDIR /app
|
||||
|
||||
COPY . .
|
||||
|
||||
ENV GO111MODULE=auto
|
||||
|
||||
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 /usr/local/go/bin/go build -ldflags="-w -s" -o netmaker main.go
|
||||
|
||||
FROM alpine:3.13.6
|
||||
|
||||
RUN apk add gcompat
|
||||
# set the working directory
|
||||
WORKDIR /root/
|
||||
|
||||
COPY --from=builder /app/netmaker .
|
||||
COPY --from=builder /app/config .
|
||||
|
||||
RUN mkdir -p config/dnsconfig
|
||||
RUN touch config/dnsconfig/Corefile && touch config/dnsconfig/netmaker.hosts
|
||||
|
||||
EXPOSE 8081
|
||||
EXPOSE 50051
|
||||
|
||||
ENTRYPOINT ["./netmaker"]
|
4
scripts/daemon.sh
Normal file
4
scripts/daemon.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
while [ 1 ]; do
|
||||
/etc/netclient/netclient checkin -n all >> /etc/netclient/netclient.logs 2&1>
|
||||
sleep 15
|
||||
done &
|
|
@ -134,7 +134,7 @@ func AddNetwork(network string) (bool, error) {
|
|||
}
|
||||
functions.PrintUserLog(models.NODE_SERVER_NAME, "executing network join: "+netclientPath+"netclient "+"join "+"-t "+token+" -name "+models.NODE_SERVER_NAME+" -endpoint "+pubip, 0)
|
||||
|
||||
joinCMD := exec.Command(netclientPath+"netclient", "join", "-t", token, "-name", models.NODE_SERVER_NAME, "-endpoint", pubip)
|
||||
joinCMD := exec.Command(netclientPath+"netclient", "join", "-t", token, "-name", models.NODE_SERVER_NAME, "-endpoint", pubip, "-daemon", "off")
|
||||
joinCMD.Stdout = os.Stdout
|
||||
joinCMD.Stderr = os.Stderr
|
||||
err = joinCMD.Start()
|
||||
|
|
Loading…
Reference in a new issue