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.
This commit is contained in:
Pierce Lopez 2026-07-21 01:53:32 -04:00 committed by GitHub
parent 7da2679aa6
commit 3d64ad40be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 10 deletions

View File

@ -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

View File

@ -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
```