From 41d4d650e4c52654b124e442bf3dbbd4543df256 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 3 Jun 2021 08:16:06 -0700 Subject: [PATCH] simplify dockerfiles and remove duplication (#12419) also add additional packages such as 'iproute', 'iputils' for `ping` and `ip addr` commands. --- .dockerignore | 3 ++- .gitignore | 1 + Dockerfile | 15 ++++++------ Dockerfile.cicd | 53 +------------------------------------------ Dockerfile.dev | 18 +++------------ Dockerfile.release | 2 +- browser/.dockerignore | 18 +++++++++++++++ 7 files changed, 34 insertions(+), 76 deletions(-) create mode 100644 browser/.dockerignore diff --git a/.dockerignore b/.dockerignore index a8a84cccb..f614e0154 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,8 +2,9 @@ .github docs default.etcd -browser *.gz *.tar.gz *.bzip2 *.zip +browser/node_modules +node_modules \ No newline at end of file diff --git a/.gitignore b/.gitignore index c791e2e34..84a13f436 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ prime/ stage/ .sia_temp/ config.json +node_modules/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 566472407..0ed01f307 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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 @@ -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"] diff --git a/Dockerfile.cicd b/Dockerfile.cicd index f0f4264e7..118ab0329 100644 --- a/Dockerfile.cicd +++ b/Dockerfile.cicd @@ -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 " - -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"] diff --git a/Dockerfile.dev b/Dockerfile.dev index 752b80d44..d7ba9cb20 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,23 +1,11 @@ -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3 - -ARG TARGETARCH +FROM minio/minio:edge LABEL maintainer="MinIO Inc " -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 diff --git a/Dockerfile.release b/Dockerfile.release index 679fbd40d..cb6fe471e 100644 --- a/Dockerfile.release +++ b/Dockerfile.release @@ -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 && \ diff --git a/browser/.dockerignore b/browser/.dockerignore new file mode 100644 index 000000000..38edf38cf --- /dev/null +++ b/browser/.dockerignore @@ -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