From 9eae6fb6cc7c791ec19279e5a1ae3c21f97205c0 Mon Sep 17 00:00:00 2001 From: Monosij Ghosh Date: Wed, 27 Nov 2024 19:42:48 +0530 Subject: [PATCH] Kserve Adapter module docker file optimisation Memmory optimisation for docker image Change-Id: Ie3822f2a0610be3b26e1e5deb83acedd0e4c14a2 Signed-off-by: Monosij Ghosh --- .dockerignore | 5 +++++ Dockerfile | 37 ++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..8839a47 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.git +*.log +__pycache__/ +*.pyc +*.pyo diff --git a/Dockerfile b/Dockerfile index a3996f9..8b58ff6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,37 +15,36 @@ # limitations under the License. #================================================================================== - -FROM golang:1.19.8-bullseye as builder +FROM golang:1.19.8-bullseye AS builder WORKDIR /kserve-adapter - -ENV GO111MODULE=on GOOS=linux GOARCH=amd64 +ENV GO111MODULE=on \ + GOOS=linux \ + GOARCH=amd64 COPY . . +RUN go install github.com/golang/mock/mockgen@v1.6.0 && go generate ./... && \ + go mod tidy && \ + go build -o kserve-adapter cmd/kserve-adapter/main.go -RUN go install github.com/golang/mock/mockgen@v1.6.0 && go generate ./... -RUN go mod tidy -RUN go build -o kserve-adapter cmd/kserve-adapter/main.go FROM golang:1.19.8-bullseye - WORKDIR /root/ -RUN curl https://baltocdn.com/helm/signing.asc | apt-key add - -RUN apt-get install apt-transport-https --yes -RUN echo "deb https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list - -RUN apt-get update -RUN apt-get install helm +# Install Helm in a single layer +RUN curl https://baltocdn.com/helm/signing.asc | apt-key add - && \ + apt-get install -y --no-install-recommends apt-transport-https && \ + echo "deb https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list && \ + apt-get update && \ + apt-get install -y --no-install-recommends helm && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* COPY --from=builder /kserve-adapter/kserve-adapter . COPY --from=builder /kserve-adapter/pkg/helm/data pkg/helm/data -ENV API_SERVER_PORT=10000 -ENV CHART_WORKSPACE_PATH="/root/pkg/helm/data" -EXPOSE 10000 - -ENTRYPOINT ["./kserve-adapter"] +ENV API_SERVER_PORT=10000 CHART_WORKSPACE_PATH="/root/pkg/helm/data" +EXPOSE 10000 +ENTRYPOINT ["./kserve-adapter"] \ No newline at end of file -- 2.16.6