From 089cee0e1d82f44c77d9a211f5fb5eb8b829c2ec Mon Sep 17 00:00:00 2001 From: stasatdaglabs <39559713+stasatdaglabs@users.noreply.github.com> Date: Sun, 13 Oct 2019 14:07:44 +0300 Subject: [PATCH] [NOD-352] Create a Dockerfile for APIServer (#428) * [NOD-352] Created a Dockerfile for APIServer. * [NOD-352] Removed unnecessary testing stuff from the APIServer and DNSSeeder Dockerfiles. --- apiserver/docker/Dockerfile | 28 ++++++++++++++++++++++++++++ cmd/txgen/docker/Dockerfile | 1 - dnsseeder/docker/Dockerfile | 18 ++++-------------- mining/simulator/docker/Dockerfile | 1 - 4 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 apiserver/docker/Dockerfile diff --git a/apiserver/docker/Dockerfile b/apiserver/docker/Dockerfile new file mode 100644 index 000000000..571da3f5e --- /dev/null +++ b/apiserver/docker/Dockerfile @@ -0,0 +1,28 @@ +# -- multistage docker build: stage #1: build stage +FROM golang:1.13-alpine AS build + +RUN mkdir -p /go/src/github.com/daglabs/btcd + +WORKDIR /go/src/github.com/daglabs/btcd + +RUN apk add --no-cache curl git + +COPY go.mod . +COPY go.sum . + +RUN go mod download + +COPY . . + +RUN cd apiserver && CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o apiserver . + +# --- multistage docker build: stage #2: runtime image +FROM alpine +WORKDIR /app + +RUN apk add --no-cache tini + +COPY --from=build /go/src/github.com/daglabs/btcd/apiserver/ /app/ + +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["/app/apiserver"] diff --git a/cmd/txgen/docker/Dockerfile b/cmd/txgen/docker/Dockerfile index 82ef6f898..b4199302a 100644 --- a/cmd/txgen/docker/Dockerfile +++ b/cmd/txgen/docker/Dockerfile @@ -25,5 +25,4 @@ RUN apk add --no-cache tini COPY --from=build /go/src/github.com/daglabs/btcd/cmd/txgen/txgen /app/ ENTRYPOINT ["/sbin/tini", "--"] - CMD ["/app/txgen"] diff --git a/dnsseeder/docker/Dockerfile b/dnsseeder/docker/Dockerfile index c5125ae1b..2e59d1385 100644 --- a/dnsseeder/docker/Dockerfile +++ b/dnsseeder/docker/Dockerfile @@ -5,12 +5,7 @@ RUN mkdir -p /go/src/github.com/daglabs/btcd WORKDIR /go/src/github.com/daglabs/btcd -RUN apk add --no-cache curl git openssh binutils gcc musl-dev -RUN go get -u golang.org/x/lint/golint \ - github.com/kisielk/errcheck \ - github.com/opennota/check/cmd/aligncheck \ - github.com/opennota/check/cmd/structcheck \ - github.com/opennota/check/cmd/varcheck +RUN apk add --no-cache curl git COPY go.mod . COPY go.sum . @@ -19,20 +14,15 @@ RUN go mod download COPY . . -RUN go vet ./... -# RUN aligncheck ./... -# RUN structcheck -e ./... -# RUN varcheck -e ./... RUN cd dnsseeder && CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o dnsseeder . # --- multistage docker build: stage #2: runtime image FROM alpine WORKDIR /app -RUN apk add --no-cache ca-certificates tini +RUN apk add --no-cache tini COPY --from=build /go/src/github.com/daglabs/btcd/dnsseeder/ /app/ -USER nobody -CMD [ "/app/dnsseeder", "-H", "dnsseed.my.home", "-n", "192.168.16.104", "-l", "0.0.0.0:53", "-s", "localhost", "--testnet" ] -ENTRYPOINT [ "/sbin/tini", "--" ] +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["/app/dnsseeder"] diff --git a/mining/simulator/docker/Dockerfile b/mining/simulator/docker/Dockerfile index 2cb37ddb9..767f322df 100644 --- a/mining/simulator/docker/Dockerfile +++ b/mining/simulator/docker/Dockerfile @@ -25,5 +25,4 @@ RUN apk add --no-cache tini COPY --from=build /go/src/github.com/daglabs/btcd/mining/simulator/mining_simulator /app/ ENTRYPOINT ["/sbin/tini", "--"] - CMD ["/app/mining_simulator"]