2019-08-26 14:26:42 +00:00
|
|
|
# Builder image
|
2019-11-15 17:41:40 +00:00
|
|
|
FROM golang:1-alpine as builder
|
2018-04-16 08:41:23 +00:00
|
|
|
|
2019-08-26 14:26:42 +00:00
|
|
|
RUN set -x \
|
|
|
|
&& apk add --no-cache git \
|
|
|
|
&& mkdir -p /tmp
|
|
|
|
|
|
|
|
COPY . /neo-go
|
|
|
|
|
|
|
|
WORKDIR /neo-go
|
|
|
|
|
|
|
|
ARG REPO=repository
|
|
|
|
ARG VERSION=dev
|
2018-04-16 08:41:23 +00:00
|
|
|
|
2019-08-26 14:26:42 +00:00
|
|
|
# https://github.com/golang/go/wiki/Modules#how-do-i-use-vendoring-with-modules-is-vendoring-going-away
|
|
|
|
# go build -mod=vendor
|
|
|
|
RUN set -x \
|
|
|
|
&& export GOGC=off \
|
2019-08-29 13:10:28 +00:00
|
|
|
&& export GO111MODULE=on \
|
2019-08-26 14:26:42 +00:00
|
|
|
&& export CGO_ENABLED=0 \
|
2020-07-08 05:40:27 +00:00
|
|
|
&& export LDFLAGS="-X ${REPO}/pkg/config.Version=${VERSION}" \
|
2019-11-15 17:41:40 +00:00
|
|
|
&& go build -v -mod=vendor -ldflags "${LDFLAGS}" -o /go/bin/neo-go ./cli
|
2019-08-26 14:26:42 +00:00
|
|
|
|
|
|
|
# Executable image
|
2019-11-29 10:36:05 +00:00
|
|
|
FROM alpine
|
2019-08-26 14:26:42 +00:00
|
|
|
|
|
|
|
ARG VERSION
|
2018-04-16 08:41:23 +00:00
|
|
|
LABEL version=$VERSION
|
|
|
|
|
2019-08-26 14:26:42 +00:00
|
|
|
WORKDIR /
|
|
|
|
|
2019-11-15 17:41:40 +00:00
|
|
|
COPY --from=builder /neo-go/config /config
|
2019-11-29 10:36:05 +00:00
|
|
|
COPY --from=builder /neo-go/.docker/privnet-entrypoint.sh /usr/bin/privnet-entrypoint.sh
|
2019-11-15 17:41:40 +00:00
|
|
|
COPY --from=builder /go/bin/neo-go /usr/bin/neo-go
|
2019-08-26 14:26:42 +00:00
|
|
|
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
2018-04-16 08:41:23 +00:00
|
|
|
|
2019-11-29 10:36:05 +00:00
|
|
|
ENTRYPOINT ["/usr/bin/privnet-entrypoint.sh"]
|
2018-04-16 08:41:23 +00:00
|
|
|
|
2019-11-29 10:36:05 +00:00
|
|
|
CMD ["node", "--config-path", "/config", "--privnet"]
|