1515# Includes tools used for kubernetes/minikube CI
1616# NOTE: we attempt to avoid unnecessary tools and image layers while
1717# supporting kubernetes builds, minikube installation, etc.
18- FROM debian:bullseye
18+ FROM debian:bookworm
1919
2020# arg that specifies the go version to install
2121ARG GO_VERSION
@@ -37,40 +37,47 @@ ENV GOPATH=/home/prow/go \
3737# the pod logs, so we just comment out the call to it... :shrug:
3838RUN export ARCH=$(dpkg --print-architecture) \
3939 && echo "Installing Packages ..." \
40- && apt-get update \
41- && apt-get install -y --no-install-recommends \
42- apt-transport-https \
43- build-essential \
44- ca-certificates \
45- curl \
46- file \
47- git \
48- gnupg2 \
49- kmod \
50- lsb-release \
51- mercurial \
52- pkg-config \
53- procps \
54- python \
55- python -dev \
56- python3-pip \
57- rsync \
58- software-properties-common \
59- unzip \
60- && rm -rf /var/lib/apt/lists/* \
40+ && apt-get update \
41+ && apt-get install -y --no-install-recommends \
42+ apt-transport-https \
43+ build-essential \
44+ ca-certificates \
45+ curl \
46+ file \
47+ git \
48+ gnupg \
49+ kmod \
50+ lsb-release \
51+ mercurial \
52+ pkg-config \
53+ procps \
54+ python3 \
55+ python3 -dev \
56+ python3-pip \
57+ rsync \
58+ software-properties-common \
59+ unzip \
60+ && rm -rf /var/lib/apt/lists/* \
6161 && echo "Installing Go ..." \
6262 && export GO_TARBALL="go${GO_VERSION}.linux-${ARCH}.tar.gz" \
6363 && curl -fsSL "https://storage.googleapis.com/golang/${GO_TARBALL}" --output "${GO_TARBALL}" \
6464 && tar xzf "${GO_TARBALL}" -C /usr/local \
6565 && rm "${GO_TARBALL}" \
6666 && mkdir -p "${GOPATH}/bin" \
6767 && echo "Installing Docker ..." \
68- && curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID" )/gpg | apt-key add - \
69- && add-apt-repository \
70- "deb [arch=" $(dpkg --print-architecture)"] https://download.docker.com/linux/$(. /etc/os-release; echo " $ID") \
71- $(lsb_release -cs) stable" \
68+ && install -m 0755 -d /etc/apt/keyrings \
69+ && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
70+ && chmod a+r /etc/apt/keyrings/docker.gpg \
71+ && echo \
72+ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
73+ bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
7274 && apt-get update \
73- && apt-get install -y --no-install-recommends docker-ce \
75+ && apt-get install -y --no-install-recommends \
76+ docker-ce \
77+ docker-ce-cli \
78+ containerd.io \
79+ docker-buildx-plugin \
80+ docker-compose-plugin \
7481 && rm -rf /var/lib/apt/lists/* \
7582 && sed -i 's/cgroupfs_mount$/#cgroupfs_mount\n /' /etc/init.d/docker \
7683 && echo "Ensuring Legacy Iptables ..." \
@@ -79,7 +86,7 @@ RUN export ARCH=$(dpkg --print-architecture) \
7986 && echo "Installing Kubectl ..." \
8087 && curl -LO "https://dl.k8s.io/$(curl -sSL https://dl.k8s.io/release/stable.txt)/bin/linux/${ARCH}/kubectl" \
8188 && chmod +x ./kubectl \
82- && cp kubectl /usr/local/bin
89+ && cp kubectl /usr/local/bin
8390# copy in image utility scripts
8491COPY wrapper.sh /usr/local/bin/
8592# entrypoint is our wrapper script, in Prow you will need to explicitly re-specify this
0 commit comments