ci: Docker CLI als statisches Binary installieren (Alpine-kompatibel)

This commit is contained in:
2026-06-25 12:54:02 +02:00
parent fe1815c76f
commit 77fce988d7
2 changed files with 28 additions and 18 deletions

View File

@@ -31,15 +31,20 @@ jobs:
- name: Install Docker CLI
run: |
if ! command -v docker &>/dev/null; then
apt-get update -qq
apt-get install -y -qq ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
> /etc/apt/sources.list.d/docker.list
apt-get update -qq
apt-get install -y -qq docker-ce-cli docker-buildx-plugin
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ARCH=x86_64 ;;
aarch64) ARCH=aarch64 ;;
esac
DOCKER_VER=$(curl -fsSL https://download.docker.com/linux/static/stable/${ARCH}/ | grep -oP 'docker-\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -1)
curl -fsSL "https://download.docker.com/linux/static/stable/${ARCH}/docker-${DOCKER_VER}.tgz" | tar xz --strip-components=1 -C /usr/local/bin docker/docker
chmod +x /usr/local/bin/docker
# buildx plugin
BUILDX_VER=$(curl -fsSL https://api.github.com/repos/docker/buildx/releases/latest | grep -oP '"tag_name": "v\K[^"]+')
mkdir -p /usr/local/lib/docker/cli-plugins
curl -fsSL "https://github.com/docker/buildx/releases/download/v${BUILDX_VER}/buildx-v${BUILDX_VER}.linux-${ARCH/x86_64/amd64}" \
-o /usr/local/lib/docker/cli-plugins/docker-buildx
chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx
fi
docker version --format '{{.Client.Version}}'

View File

@@ -23,15 +23,20 @@ jobs:
- name: Install Docker CLI
run: |
if ! command -v docker &>/dev/null; then
apt-get update -qq
apt-get install -y -qq ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
> /etc/apt/sources.list.d/docker.list
apt-get update -qq
apt-get install -y -qq docker-ce-cli docker-buildx-plugin
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ARCH=x86_64 ;;
aarch64) ARCH=aarch64 ;;
esac
DOCKER_VER=$(curl -fsSL https://download.docker.com/linux/static/stable/${ARCH}/ | grep -oP 'docker-\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -1)
curl -fsSL "https://download.docker.com/linux/static/stable/${ARCH}/docker-${DOCKER_VER}.tgz" | tar xz --strip-components=1 -C /usr/local/bin docker/docker
chmod +x /usr/local/bin/docker
# buildx plugin
BUILDX_VER=$(curl -fsSL https://api.github.com/repos/docker/buildx/releases/latest | grep -oP '"tag_name": "v\K[^"]+')
mkdir -p /usr/local/lib/docker/cli-plugins
curl -fsSL "https://github.com/docker/buildx/releases/download/v${BUILDX_VER}/buildx-v${BUILDX_VER}.linux-${ARCH/x86_64/amd64}" \
-o /usr/local/lib/docker/cli-plugins/docker-buildx
chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx
fi
docker version --format '{{.Client.Version}}'