Skip to content

Commit

Permalink
simplify dockerfiles and remove duplication (minio#12419)
Browse files Browse the repository at this point in the history
also add additional packages such as 'iproute',
'iputils' for `ping` and `ip addr` commands.
  • Loading branch information
harshavardhana authored Jun 3, 2021
1 parent fb140c1 commit 41d4d65
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 76 deletions.
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
.github
docs
default.etcd
browser
*.gz
*.tar.gz
*.bzip2
*.zip
browser/node_modules
node_modules
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ prime/
stage/
.sia_temp/
config.json
node_modules/
15 changes: 8 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,12 @@ 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 && \
git checkout master && go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)"
COPY . /go/minio/
COPY browser /go/minio/browser

WORKDIR /go/minio/

RUN apk add --no-cache git && go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)"

FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3

Expand All @@ -29,9 +31,8 @@ COPY --from=builder /go/minio/dockerscripts/docker-entrypoint.sh /usr/bin/

RUN \
microdnf update --nodocs && \
microdnf install curl ca-certificates shadow-utils util-linux --nodocs && \
microdnf clean all && \
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
microdnf install curl ca-certificates shadow-utils util-linux iproute iputils --nodocs && \
microdnf clean all

ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]

Expand Down
53 changes: 1 addition & 52 deletions Dockerfile.cicd
Original file line number Diff line number Diff line change
@@ -1,54 +1,3 @@
# Copyright 2020 MinIO, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM golang:1.16-alpine as builder

LABEL maintainer="MinIO Inc <[email protected]>"

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 && \
git checkout master && go install -v -ldflags "$(go run buildscripts/gen-ldflags.go)"

FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3

ARG TARGETARCH

ENV MINIO_ACCESS_KEY_FILE=access_key \
MINIO_SECRET_KEY_FILE=secret_key \
MINIO_ROOT_USER_FILE=access_key \
MINIO_ROOT_PASSWORD_FILE=secret_key \
MINIO_KMS_SECRET_KEY_FILE=kms_master_key \
MINIO_UPDATE_MINISIGN_PUBKEY="RWTx5Zr1tiHQLwG9keckT0c45M3AGeHD6IvimQHpyRywVWGbP1aVSGav"

EXPOSE 9000

COPY --from=builder /go/bin/minio /usr/bin/minio
COPY --from=builder /go/minio/CREDITS /licenses/CREDITS
COPY --from=builder /go/minio/LICENSE /licenses/LICENSE
COPY --from=builder /go/minio/dockerscripts/docker-entrypoint.sh /usr/bin/

RUN \
microdnf update --nodocs && \
microdnf install curl ca-certificates shadow-utils util-linux --nodocs && \
microdnf clean all

ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]

VOLUME ["/data"]
FROM minio/minio:edge

CMD ["minio", "server", "/data"]
18 changes: 3 additions & 15 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -1,23 +1,11 @@
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3

ARG TARGETARCH
FROM minio/minio:edge

LABEL maintainer="MinIO Inc <[email protected]>"

COPY dockerscripts/docker-entrypoint.sh /usr/bin/
COPY minio /usr/bin/
COPY dockerscripts/docker-entrypoint.sh /usr/bin/

ENV MINIO_UPDATE=off \
MINIO_ACCESS_KEY_FILE=access_key \
MINIO_SECRET_KEY_FILE=secret_key \
MINIO_ROOT_USER_FILE=access_key \
MINIO_ROOT_PASSWORD_FILE=secret_key \
MINIO_KMS_SECRET_KEY_FILE=kms_master_key

RUN microdnf update --nodocs
RUN microdnf install curl ca-certificates shadow-utils util-linux --nodocs
RUN microdnf clean all && \
chmod +x /usr/bin/minio && \
RUN chmod +x /usr/bin/minio && \
chmod +x /usr/bin/docker-entrypoint.sh

EXPOSE 9000
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.release
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ COPY LICENSE /licenses/LICENSE

RUN \
microdnf update --nodocs && \
microdnf install curl ca-certificates shadow-utils util-linux --nodocs && \
microdnf install curl ca-certificates shadow-utils util-linux iproute iputils --nodocs && \
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && \
microdnf install minisign --nodocs && \
curl -s -q https://dl.min.io/server/minio/release/linux-${TARGETARCH}/archive/minio.${RELEASE} -o /usr/bin/minio && \
Expand Down
18 changes: 18 additions & 0 deletions browser/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
**/*.swp
cover.out
*~
minio
!*/
site/
**/*.test
**/*.sublime-workspace
/.idea/
/Minio.iml
**/access.log
build
vendor/**/*.js
vendor/**/*.json
.DS_Store
*.syso
coverage.txt
node_modules

0 comments on commit 41d4d65

Please sign in to comment.