frostfs-s3-gw/Dockerfile

31 lines
874 B
Text
Raw Normal View History

2020-07-03 15:08:57 +00:00
FROM golang:1 as builder
2020-07-03 15:08:57 +00:00
COPY . /src
2020-07-03 15:08:57 +00:00
WORKDIR /src
2020-07-03 15:08:57 +00:00
ARG VERSION=dev
2020-07-03 15:08:57 +00:00
# https://github.com/golang/go/wiki/Modules#how-do-i-use-vendoring-with-modules-is-vendoring-going-away
# go build -mod=vendor
# The -gcflags "all=-N -l" flag helps us get a better debug experience
RUN set -x \
&& export BUILD=$(date -u +%s%N) \
&& export REPO=$(go list -m) \
&& export LDFLAGS="-X ${REPO}/misc.Version=${VERSION} -X ${REPO}/misc.Build=${BUILD}" \
&& export GOGC=off \
&& export CGO_ENABLED=0 \
&& [ -d "./vendor" ] || go mod vendor \
&& go build -v -mod=vendor -trimpath -gcflags "all=-N -l" -ldflags "${LDFLAGS}" -o /go/bin/neofs-s3 ./main.go
2020-07-03 15:08:57 +00:00
# Executable image
FROM alpine:3.10
2020-07-03 15:08:57 +00:00
WORKDIR /
2020-07-03 15:08:57 +00:00
COPY --from=builder /go/bin/neofs-s3 /usr/bin/neofs-s3
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
2020-07-03 15:08:57 +00:00
# Run delve
CMD ["/usr/bin/neofs-s3"]