Dockerfile: update to debian bookworm

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2023-07-10 12:57:31 +02:00 committed by Sebastiaan van Stijn
parent ce22ac2736
commit c5194a9e5d
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
3 changed files with 8 additions and 17 deletions

View File

@ -26,7 +26,7 @@ jobs:
- connhelper-ssh
base:
- alpine
- bullseye
- bookworm
engine-version:
# - 20.10-dind # FIXME: Fails on 20.10
- stable-dind # TODO: Use 20.10-dind, stable-dind is deprecated

View File

@ -22,22 +22,15 @@ ARG TARGETPLATFORM
# gcc is installed for libgcc only
RUN xx-apk add --no-cache musl-dev gcc
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-bullseye AS build-base-bullseye
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-bookworm AS build-base-bookworm
ENV GOTOOLCHAIN=local
COPY --link --from=xx / /
RUN apt-get update && apt-get install --no-install-recommends -y bash clang lld llvm file
WORKDIR /go/src/github.com/docker/cli
FROM build-base-bullseye AS build-bullseye
FROM build-base-bookworm AS build-bookworm
ARG TARGETPLATFORM
RUN xx-apt-get install --no-install-recommends -y libc6-dev libgcc-10-dev
# workaround for issue with llvm 11 for darwin/amd64 platform:
# # github.com/docker/cli/cmd/docker
# /usr/local/go/pkg/tool/linux_amd64/link: /usr/local/go/pkg/tool/linux_amd64/link: running strip failed: exit status 1
# llvm-strip: error: unsupported load command (cmd=0x5)
# more info: https://github.com/docker/cli/pull/3717
# FIXME: remove once llvm 12 available on debian
RUN [ "$TARGETPLATFORM" != "darwin/amd64" ] || ln -sfnT /bin/true /usr/bin/llvm-strip
RUN xx-apt-get install --no-install-recommends -y libc6-dev libgcc-12-dev pkgconf
FROM build-base-${BASE_VARIANT} AS goversioninfo
ARG GOVERSIONINFO_VERSION
@ -66,8 +59,6 @@ ARG VERSION
# PACKAGER_NAME sets the company that produced the windows binary
ARG PACKAGER_NAME
COPY --link --from=goversioninfo /out/goversioninfo /usr/bin/goversioninfo
# in bullseye arm64 target does not link with lld so configure it to use ld instead
RUN [ ! -f /etc/alpine-release ] && xx-info is-cross && [ "$(xx-info arch)" = "arm64" ] && XX_CC_PREFER_LINKER=ld xx-clang --setup-target-triple || true
RUN --mount=type=bind,target=.,ro \
--mount=type=cache,target=/root/.cache \
--mount=from=dockercore/golang-cross:xx-sdk-extras,target=/xx-sdk,src=/xx-sdk \
@ -103,7 +94,7 @@ RUN --mount=ro --mount=type=cache,target=/root/.cache \
FROM build-base-alpine AS e2e-base-alpine
RUN apk add --no-cache build-base curl openssl openssh-client
FROM build-base-bullseye AS e2e-base-bullseye
FROM build-base-bookworm AS e2e-base-bookworm
RUN apt-get update && apt-get install -y build-essential curl openssl openssh-client
FROM docker/buildx-bin:${BUILDX_VERSION} AS buildx

View File

@ -52,7 +52,7 @@ target "binary" {
platforms = ["local"]
output = ["build"]
args = {
BASE_VARIANT = USE_GLIBC == "1" ? "bullseye" : "alpine"
BASE_VARIANT = USE_GLIBC == "1" ? "bookworm" : "alpine"
VERSION = VERSION
PACKAGER_NAME = PACKAGER_NAME
GO_STRIP = STRIP_TARGET
@ -72,7 +72,7 @@ target "plugins" {
platforms = ["local"]
output = ["build"]
args = {
BASE_VARIANT = USE_GLIBC == "1" ? "bullseye" : "alpine"
BASE_VARIANT = USE_GLIBC == "1" ? "bookworm" : "alpine"
VERSION = VERSION
GO_STRIP = STRIP_TARGET
}
@ -155,7 +155,7 @@ target "e2e-image" {
output = ["type=docker"]
tags = ["${IMAGE_NAME}"]
args = {
BASE_VARIANT = USE_GLIBC == "1" ? "bullseye" : "alpine"
BASE_VARIANT = USE_GLIBC == "1" ? "bookworm" : "alpine"
VERSION = VERSION
}
}