From d908e86590f0dba57027bcc351e7665b4646358f Mon Sep 17 00:00:00 2001 From: Aleksey Karpov <86011874+alekseyolg@users.noreply.github.com> Date: Mon, 27 Feb 2023 11:18:19 +0300 Subject: [PATCH] Reducing the number of layers and commands (#9822) --- Dockerfile | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/Dockerfile b/Dockerfile index 92f226be4..9cc956400 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,25 @@ # Use imutable image tags rather than mutable tags (like ubuntu:20.04) FROM ubuntu:focal-20220531 - -ARG ARCH=amd64 -ARG TZ=Etc/UTC -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \ - && apt update \ - && apt install -y --no-install-recommends \ - curl python3 python3-pip sshpass vim \ - && rm -rf /var/lib/apt/lists/* - # Some tools like yamllint need this # Pip needs this as well at the moment to install ansible # (and potentially other packages) # See: https://github.com/pypa/pip/issues/10219 -ENV LANG=C.UTF-8 +ENV LANG=C.UTF-8 \ + DEBIAN_FRONTEND=noninteractive +ARG ARCH=amd64 WORKDIR /kubespray -COPY *yml /kubespray/ -COPY roles /kubespray/roles -COPY contrib /kubespray/contrib -COPY inventory /kubespray/inventory -COPY library /kubespray/library -COPY extra_playbooks /kubespray/extra_playbooks +COPY *yml . +COPY roles ./roles +COPY contrib ./contrib +COPY inventory ./inventory +COPY library ./library +COPY extra_playbooks ./extra_playbooks -RUN python3 -m pip install --no-cache-dir \ +RUN apt update && apt install -y --no-install-recommends \ + curl python3 python3-pip sshpass vim \ + && rm -rf /var/lib/apt/lists/* /var/log/* \ + && pip install --no-cache-dir \ ansible==5.7.1 \ ansible-core==2.12.5 \ cryptography==3.4.8 \ @@ -34,6 +30,5 @@ RUN python3 -m pip install --no-cache-dir \ ruamel.yaml==0.17.21 \ && find / -type d -name '*__pycache__' -prune -exec rm -rf {} \; \ && KUBE_VERSION=$(sed -n 's/^kube_version: //p' roles/kubespray-defaults/defaults/main.yaml) \ - && curl -LO https://storage.googleapis.com/kubernetes-release/release/$KUBE_VERSION/bin/linux/$ARCH/kubectl \ - && chmod a+x kubectl \ - && mv kubectl /usr/local/bin/kubectl + && curl -L https://storage.googleapis.com/kubernetes-release/release/$KUBE_VERSION/bin/linux/$ARCH/kubectl -o /usr/local/bin/kubectl \ + && chmod a+x /usr/local/bin/kubectl