---
title: Customized Docker images
description: ForgeOps provides 12 Docker images for deploying the Ping Identity Platform:
component: forgeops
version: 2025.2
page_id: forgeops:customize:new-docker-image
canonical_url: https://docs.pingidentity.com/forgeops/2025.2/customize/new-docker-image.html
keywords: ["Docker", "forgeops Command", "ForgeOps Docker image"]
section_ids:
  building_deployable_forgeops_docker_images: Building deployable ForgeOps Docker images
---

# Customized Docker images

ForgeOps provides 12 Docker images for deploying the Ping Identity Platform:

* Eight component base images:

  * `amster`

  * `am-cdk`

  * `am-config-upgrader`

  * `ds`

  * `idm-cdk`

  * `ig`

  * `java-17` and `java-21`

* Four base images that implement the platform's user interface elements and ForgeOps operators:

  * `platform-admin-ui`

  * `platform-enduser-ui`

  * `platform-login-ui`

  * `secret-agent`

|   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| - | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | Before you begin building custom images, ensure you've installed Java version 21 or 17 on your computer.For example:> **Collapse: When using platform versions 8.x**
>
> ```
> $ java --version
> openjdk 21.0.5 2024-10-15 LTS
> OpenJDK Runtime Environment Temurin-21.0.5+11 (build 21.0.5+11-LTS)
> OpenJDK 64-Bit Server VM Temurin-21.0.5+11 (build 21.0.5+11-LTS, mixed mode)
> ```> **Collapse: When using platform versions 7.x**
>
> ```
> $ java --version
> openjdk 17.0.10 2024-01-16
> OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7)
> OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode)
> ``` |

## Building deployable ForgeOps Docker images

1. Set up your local ForgeOps deployment environment using the forgeops env command.

   ```
   $ ./bin/forgeops env --env-name my-env
   Updating existing overlay.
   Helm environment dir exists, but has no values.yaml.

   When creating a new environment, it's best practice to specify a HTTPS
   certificate issuer (--issuer or --cluster-issuer).
   You can also skip issuer creation with --skip-issuer.
   You can use the forgeops prereqs command to deploy
   cert-manager and create a self-signed ClusterIssuer called 'default-issuer'.


   Continue using a ClusterIssuer called "default-issuer"? [Y/N] y
   Using ClusterIssuer: default-issuer
   ```

2. Select the ForgeOps image release you want to use for building your images.

   The following example uses the 8.0.0 image release from ForgeOps and names locally as my-8.0.0:

   ```
   $ ./bin/forgeops image --release 8.0.0 \
     --release-name my-8.0.0 platform
   ...
   Updating release file(s) for docker builds [my-8.0.0]
   ```

3. []()Copy your customized AM and IDM configuration profiles to the docker/am/config-profiles and docker/idm/config-profiles directories respectively.

   If you don't have a ForgeOps deployment, you may not have customized configuration profiles. So you can ignore this step to create the first ForgeOps deployment.

4. Build your custom docker images. Use the `--push-to` option of the `forgeops build` command to push the customized images to your Docker repository.

   ```
   $ ./bin/forgeops build --env-name my-env \
     --release-name my-8.0.0 \
     --config-profile my-profile --push-to my-repo platform
   ```

   If you don't have customized configuration profiles, then you don't specify the `--config-profile my-profile` option.

   You can use the `--dryrun` option to validate your `forgeops build` command before actual execution. For example:

   ```
   $ ./bin/forgeops build --env-name my-env --release-name my-8.0.0 platform --dryrun
   ...
   Component 'platform' given, setting components
   docker build --build-arg REPO=us-docker.pkg.dev/forgeops-public/images-base/am --build-arg TAG=8.0.0 -t am -f .../forgeops/docker/am/Dockerfile .../forgeops/docker/am
   .../forgeops/bin/commands/image -e my-env -k .../forgeops/kustomize -H .../forgeops/helm --image-repo none -b .../forgeops/docker am
   docker build --build-arg REPO=us-docker.pkg.dev/forgeops-public/images-base/idm --build-arg TAG=8.0.0 -t idm -f .../forgeops/docker/idm/Dockerfile .../forgeops/docker/idm
   .../forgeops/bin/commands/image -e my-env -k .../forgeops/kustomize -H .../forgeops/helm --image-repo none -b .../forgeops/docker idm
   docker build --build-arg REPO=us-docker.pkg.dev/forgeops-public/images-base/ds --build-arg TAG=8.0.0 -t ds -f .../forgeops/docker/ds/Dockerfile .../forgeops/docker/ds
   .../forgeops/bin/commands/image -e my-env -k .../forgeops/kustomize -H .../forgeops/helm --image-repo none -b .../forgeops/docker ds
   docker build --build-arg REPO=us-docker.pkg.dev/forgeops-public/images-base/amster --build-arg TAG=8.0.0 -t amster -f .../forgeops/docker/amster/Dockerfile .../forgeops/docker/amster
   .../forgeops/bin/commands/image -e my-env -k .../forgeops/kustomize -H .../forgeops/helm --image-repo none -b .../forgeops/docker amster
   ```

5. Perform a ForgeOps deployment using your customized Docker images.

|   |                                                                                                                                                                                                                                                    |
| - | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | If you've performed the first ForgeOps deployment, then you need to customize your configuration profiles and redo the steps from the [Copying configuration files](#copy-config) step and redeploy the ForgeOps platform with your configuration. |
