Customize a managed controller container image

1 minute readKnowledge base

Issue

We require some tools installed on the container image that we use for managed controller, and those tools are not installed by default.

Resolution

If you encounter issues with customized container images, CloudBees reserves the right to request that you reproduce the issue with the officially supported container images without customizations.

You want to have a new customized managed controller container image with some additional software installed. In order to do that, you need to create a new container image. Your starting point can be a Dockerfile extending from cloudbees/cloudbees-core-mm:VERSION.

For CloudBees CI versions 2.462.2.2 and newer (modify VERSION and PACKAGE to suit your needs):

FROM cloudbees/cloudbees-core-mm:VERSION AS base FROM registry.access.redhat.com/ubi8 AS build COPY --from=base / /cbroot RUN dnf update -y && \ dnf install --installroot /cbroot -y --setopt=install_weak_deps=False PACKAGE && \ dnf clean --installroot /cbroot all FROM base COPY --from=build /cbroot/ /

For CloudBees CI versions older than 2.462.2.2 (modify VERSION and PACKAGE to suit your needs):

FROM cloudbees/cloudbees-core-mm:VERSION USER root RUN dnf update -y && dnf install -y PACKAGE USER 1000

You can find the available tags at cloudbees/cloudbees-core-mm:tags.

When you have the Dockerfile and have built it, you can push the image to your container registry, then use it with a managed controller. For more details on how to add this image to operations center to provision a managed controller, see Using private image repository in Operations Center controller provisioning.

Tested product/plugin versions