mirror of
https://github.com/minio/minio.git
synced 2024-12-25 22:55:54 -05:00
fa685d7d9c
Picking up all support files from the builder image has the advantage that the Dockerfile is now fully selfcontained and can be also run just standalone. This allows also cross-compilation and pushing with the proper manifests with Docker Buildkit: ``` docker buildx create --name xbuilder docker buildx use xbuilder docker buildx build -f Dockerfile.minio --platform linux/arm/v7,linux/amd64 --progress plain --push -t minio/minio . ``` which also has the advantage that the Dockerfile is the same for all platforms. Co-authored-by: Harshavardhana <harsha@minio.io>
37 lines
924 B
Docker
37 lines
924 B
Docker
FROM golang:1.13-alpine
|
|
|
|
LABEL maintainer="MinIO Inc <dev@min.io>"
|
|
|
|
ENV GOPATH /go
|
|
ENV CGO_ENABLED 0
|
|
ENV GO111MODULE on
|
|
|
|
RUN \
|
|
apk add --no-cache git && \
|
|
git clone https://github.com/minio/minio && cd minio && \
|
|
go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)"
|
|
|
|
FROM alpine:3.10
|
|
|
|
ENV MINIO_UPDATE off
|
|
ENV MINIO_ACCESS_KEY_FILE=access_key \
|
|
MINIO_SECRET_KEY_FILE=secret_key \
|
|
MINIO_KMS_MASTER_KEY_FILE=kms_master_key \
|
|
MINIO_SSE_MASTER_KEY_FILE=sse_master_key
|
|
|
|
EXPOSE 9000
|
|
|
|
COPY --from=0 /go/bin/minio /usr/bin/minio
|
|
COPY --from=0 /go/minio/CREDITS /third_party/
|
|
COPY --from=0 /go/minio/dockerscripts/docker-entrypoint.sh /usr/bin/
|
|
|
|
RUN \
|
|
apk add --no-cache ca-certificates 'curl>7.61.0' 'su-exec>=0.2' && \
|
|
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
|
|
|
|
ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]
|
|
|
|
VOLUME ["/data"]
|
|
|
|
CMD ["minio"]
|