mirror of
https://github.com/minio/minio.git
synced 2024-12-24 06:05:55 -05:00
55dd017e62
There is no reliable way to handle fallbacks for MinIO deployments, due to various command line options and multiple locations which require access inside container. Parsing command line options is tricky to figure out which is the backend disk etc, we did try to fix this in implementations of check-user.go but it wasn't complete and introduced more bugs. This PR simplifies the entire approach to rather than running Docker container as non-root by default always, it allows users to opt-in. Such that they are aware that that is what they are planning to do. In-fact there are other ways docker containers can be run as regular users, without modifying our internal behavior and adding more complexities.
38 lines
969 B
Docker
38 lines
969 B
Docker
FROM golang:1.12-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)" && \
|
|
cd dockerscripts; go build -tags kqueue -ldflags "-s -w" -o /usr/bin/healthcheck healthcheck.go
|
|
|
|
FROM alpine:3.9
|
|
|
|
ENV MINIO_UPDATE off
|
|
ENV MINIO_ACCESS_KEY_FILE=access_key \
|
|
MINIO_SECRET_KEY_FILE=secret_key
|
|
|
|
EXPOSE 9000
|
|
|
|
COPY --from=0 /go/bin/minio /usr/bin/minio
|
|
COPY --from=0 /usr/bin/healthcheck /usr/bin/healthcheck
|
|
COPY 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"]
|
|
|
|
HEALTHCHECK --interval=1m CMD healthcheck
|
|
|
|
CMD ["minio"]
|