From 3d64ad40beeda93cef4da2003929af77b2df2879 Mon Sep 17 00:00:00 2001 From: Pierce Lopez Date: Tue, 21 Jul 2026 01:53:32 -0400 Subject: [PATCH] docker: update base to rockylinux-9.8, golang builder, README (#13757) * update Dockerfile base to rockylinux-9.8 * update golang builder to golang 1.25.12 * update docker README build instructions The build context expected by different stages of the Dockerfile is a bit confusing ... most expect the context root to be packaging/docker/ but fdb-kubernetes-monitor expects the repo root. How it's actually built by the release system is in the build-output packages/docker/ dir where the needed sources are all copied. --- packaging/docker/Dockerfile | 7 ++++--- packaging/docker/README.md | 14 +++++++------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/packaging/docker/Dockerfile b/packaging/docker/Dockerfile index f318149b30..a9e5d8c2b0 100644 --- a/packaging/docker/Dockerfile +++ b/packaging/docker/Dockerfile @@ -16,7 +16,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -FROM rockylinux/rockylinux:9.6-minimal AS base +FROM rockylinux/rockylinux:9.8-minimal AS base # Disable the faulty mirror list for RockyLinux for now. Since all the other images use the base image # as base we don't have to repeat this step. @@ -60,12 +60,13 @@ RUN curl -Ls "https://github.com/krallin/tini/releases/download/v0.19.0/tini-$TA WORKDIR / -FROM golang:1.25.8-bookworm AS go-build +# Check that glibc version in base image >= glibc in go-build image (unless CGO_ENABLED=0) + +FROM golang:1.25.12-bookworm AS go-build COPY fdbkubernetesmonitor/ /fdbkubernetesmonitor WORKDIR /fdbkubernetesmonitor RUN go build -o /fdb-kubernetes-monitor *.go -# Build the fdb-aws-s3-credentials-fetcher in a dedicated build FROM go-build AS go-credentials-fetcher-build COPY fdb-aws-s3-credentials-fetcher/ /fdb-aws-s3-credentials-fetcher WORKDIR /fdb-aws-s3-credentials-fetcher diff --git a/packaging/docker/README.md b/packaging/docker/README.md index f7de1cec1a..78fde38b9c 100644 --- a/packaging/docker/README.md +++ b/packaging/docker/README.md @@ -18,15 +18,15 @@ the expectation that it is, at least, partially (if not entirely) incorrect. If you only want to build a custom container image based on an already released FDB version you run the following command from the root: ```bash -export REGISTRY=docker.io -export FDB_VERSION=7.3.63 -docker build --build-arg FDB_VERSION=${FDB_VERSION} -t ${REGISTRY}/foundationdb/fdb-kubernetes-monitor:${FDB_VERSION} --target fdb-kubernetes-monitor -f ./packaging/docker/Dockerfile . +FDB_VERSION=7.3.79 +docker build --build-arg FDB_VERSION=${FDB_VERSION} -t foundationdb:${FDB_VERSION} --target foundationdb ./packaging/docker ``` -Or if you want to build the `foundationdb` image and not the `fdb-kubernetes-monitor`: +If you want to build the `fdb-kubernetes-monitor` image (which includes fdb binaries too), +you need to use the build-output directory, even if not using binaries from the build. +(Just the cmake configure step is enough to set this up.) ```bash -export REGISTRY=docker.io -export FDB_VERSION=7.3.63 -docker build --build-arg FDB_VERSION=${FDB_VERSION} -t ${REGISTRY}/foundationdb/foundationdb:${FDB_VERSION} --target foundationdb -f ./packaging/docker/Dockerfile . +FDB_VERSION=7.3.79 +docker build --build-arg FDB_VERSION=${FDB_VERSION} -t fdb-kubernetes-monitor:${FDB_VERSION} --target fdb-kubernetes-monitor .../build-output/packages/docker ```