CloudBees CD/RO component binaries and associated Dockerfiles are available for download to create custom Docker images.
Create custom Linux Docker images
CloudBees CD/RO releases include Docker files and component archives you can use to create your own custom images. The following table includes the Docker references for all component resources:
The links in the table below download the component versions associated with the current documentation version you are viewing: 2025.03.0.178767 |
CloudBees CD/RO component | Dockerfile | Component binaries |
---|---|---|
server |
||
agent |
||
web |
||
analytics |
||
repository |
||
tools |
If you need resources for an older supported component version, downloads are available on the CloudBees CD/RO download page. |
To create your custom images:
You must have Docker Engine or Docker Desktop installed on your system before performing the steps below. |
-
For the selected component, download its Dockerfile and TAR archive from the CloudBees CD/RO download page into a local directory on your system.
-
List the contents of the folder, and verify the required files are present:
CommandResponsels -larth
ls -larth total 543344 -rw-r--r--@ 1 user staff 2.4K Jan 25 17:08 Dockerfile.agent -rw-r--r--@ 1 user staff 265M Jan 25 17:24 agent.tar.gz -rw-r--r--@ 1 user staff 51B Jan 25 17:24 Dockerfile.agent.md5 -rw-r--r--@ 1 user staff 47B Jan 25 17:24 agent.tar.gz.md5 drwxr-xr-x 6 user staff 192B Jan 25 17:28 . drwxr-xr-x+ 143 user staff 4.5K Jan 25 17:28 ..
-
Validate the checksums of the
.md5
files by running:CommandResponsemd5sum -c *.md5
Dockerfile.agent: OK agent.tar.gz: OK
-
To use your custom base image, update the
FROM
lines in the Dockerfiles with your image path.-
To find the default base image, you can run the following:
CommandExamplegrep FROM Dockerfile.<COMPONENT>
grep FROM Dockerfile.agent FROM registry.access.redhat.com/ubi9/ubi-minimal:9.4-1227.1726694542 FROM registry.access.redhat.com/ubi9/ubi-minimal:9.4-1227.1726694542
-
-
To build the image, in the directory with your Dockerfiles and binaries, run:
CommandExampledocker build -t <IMAGE-NAME> -f Dockerfile.<COMPONENT-NAME> .
docker build -t agent-image -f Dockerfile.agent .
Where:
-
-t <IMAGE-NAME>
: Specify the name of your image. -
-f Dockerfile.<COMPONENT-NAME>
: Specify the name of your Dockerfile. -
.
: Tells Docker to use the current directory as the build context.-
If you are not in the directory with your Dockerfiles and binaries, you can substitute
.
with the directory containing these files.
-
-
Create custom Windows agent Docker images
CloudBees CD/RO releases include Docker files and component archives you can use to create your own custom Windows agent images. To create your custom agent images:
You must have Docker Desktop installed on your system before performing the steps below. |
-
In PowerShell, navigate to the local directory where you want to download the agent resources for this version (2025.03.0.178767), and run the following:
$BASE_URL = "https://downloads.cloudbees.com/cloudbees-cd/Release_2025.03/2025.03.0.178767/windows/dockerfiles" # Dockerfile.windows.agent files Invoke-WebRequest -Uri "$BASE_URL/Dockerfile.windows.agent" -OutFile "Dockerfile.windows.agent" Invoke-WebRequest -Uri "$BASE_URL/Dockerfile.windows.agent.md5" -OutFile "Dockerfile.windows.agent.md5" Invoke-WebRequest -Uri "$BASE_URL/Dockerfile.windows.agent.sig" -OutFile "Dockerfile.windows.agent.sig" # win-agent.tar.gz files Invoke-WebRequest -Uri "$BASE_URL/win-agent.tar.gz" -OutFile "win-agent.tar.gz" Invoke-WebRequest -Uri "$BASE_URL/win-agent.tar.gz.md5" -OutFile "win-agent.tar.gz.md5" Invoke-WebRequest -Uri "$BASE_URL/win-agent.tar.gz.sig" -OutFile "win-agent.tar.gz.sig"
-
List the contents of the folder, and verify the required files are present:
PS CommandExampleGet-ChildItem -Force | Sort-Object LastWriteTime
Get-ChildItem -Force | Sort-Object LastWriteTime Directory: C:\path\to\folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 1/22/2025 5:24 PM 2.4KB Dockerfile.windows.agent -a---- 1/22/2025 5:24 PM 265MB agent.tar.gz -a---- 1/22/2025 5:24 PM 51B Dockerfile.windows.agent.md5 -a---- 1/22/2025 5:24 PM 47B agent.tar.gz.md5 -a---- 1/22/2025 5:24 PM 97B Dockerfile.windows.agent.sig -a---- 1/22/2025 5:24 PM 97B agent.tar.gz.sig d----- 1/22/2025 5:24 PM . d----- 1/22/2025 5:24 PM ..
-
Validate the signatures by running the following:
CommandResponse$PublicKey = "https://cdn.cloudbees.com/keyring/cloudbees.pub" cosign verify-blob --key $PublicKey --signature Dockerfile.windows.agent.sig Dockerfile.windows.agent cosign verify-blob --key $PublicKey --signature win-agent.tar.gz.sig win-agent.tar.gz
Verified OK Verified OK
If the signature verification fails or the key is missing, contact your CloudBees support representative, or open an issue on the CloudBees support page. -
Validate the checksums of the
.md5
files:-
Assign the following variables:
$dockerFile = "Dockerfile.windows.agent" $dockerFile_md5 = "Dockerfile.windows.agent.md5" $archiveFile = "win-agent.tar.gz" $archiveFile_md5 = "win-agent.tar.gz.md5"
-
Run the following to get the checksum from each resource:
$dockerFileHash = (Get-FileHash $dockerFile -Algorithm MD5).Hash.ToLower() $dockerFile_md5Hash = (Get-Content $dockerFile_md5).Split(" ")[0].Trim() $archiveFileHash = (Get-FileHash $archiveFile -Algorithm MD5).Hash.ToLower() $archiveFile_md5Hash = (Get-Content $archiveFile_md5).Split(" ")[0].Trim()
-
Run the following to compare the checksums:
PS CommandResponse$dockerFileHash -ieq $dockerFile_md5Hash; $archiveFileHash -ieq $archiveFile_md5Hash
$dockerFileHash -ieq $dockerFile_md5Hash; $archiveFileHash -ieq $archiveFile_md5Hash True True
-
-
To find the default base image used in a Dockerfile, run the following PowerShell command:
PS CommandExampleSelect-String "FROM" -Path Dockerfile.windows.agent -CaseSensitive
Select-String "FROM" -Path Dockerfile.windows.agent -CaseSensitive FROM mcr.microsoft.com/windows/servercore:ltsc2022 FROM mcr.microsoft.com/windows/servercore:ltsc2022
-
If needed, you can customize the image by modifying the contents of
win-agent.tar.gz
to meet your project-specific needs. -
After repackaging or creating your own image, update the
FROM
line in the Dockerfile to point to your custom base image.Windows has specific image requirements based on your Windows version. For more information, refer to the Windows Server DockerHub documentation. -
To build the image, run the following from the directory containing your Dockerfile and binaries:
Docker CommandExampledocker build -t <IMAGE-NAME> -f Dockerfile.<COMPONENT-NAME> <PATH-TO-TAR-ARCHIVE-FOLDER>
docker build -t cbflow-agent -f Dockerfile.windows.agent .
Where:
-
-t <IMAGE-NAME>
: Specifies the name of your image. -
-f Dockerfile.<COMPONENT-NAME>
: Specifies the path to the Dockerfile to use. -
.
: Tells Docker to use the current directory as the build context.-
If you’re not in the directory with your Dockerfiles and binaries, substitute
.
with the path to that directory.
-
-