---
title: Building the PingIntelligence Docker images
description: Use the build.sh script available in the bin directory to build the Docker images.
component: pingintelligence
version: 5.2
page_id: pingintelligence:installing_pingintelligence_for_apis:pingintelligence_build_docker_images
canonical_url: https://docs.pingidentity.com/pingintelligence/5.2/installing_pingintelligence_for_apis/pingintelligence_build_docker_images.html
revdate: April 3, 2024
section_ids:
  about-this-task: About this task
  steps: Steps
  example: Example:
  example-2: Example:
---

# Building the PingIntelligence Docker images

Use the `build.sh` script available in the `bin` directory to build the Docker images.

## About this task

You can build all the following Docker images at once, or you can choose to build the images individually. The following Docker images are built:

* API Security Enforcer (ASE)

* API Behavioral Security (ABS)

* Dashboard

* MongoDB

* API Publish

* Kafka

* Zookeeper

|   |                                                                                                                      |
| - | -------------------------------------------------------------------------------------------------------------------- |
|   | You should obfuscate the various keys and password in ASE, ABS, and the Dashboard before building the Docker images. |

For more information on obfuscating keys and passwords, see the following topics:

* ASE - [Obfuscating keys and passwords](../pingintelligence_reference_guide/pingintelligence_obfuscating_keys_and_passwords.html)

* ABS - [Obfuscate passwords](../pingintelligence_reference_guide/pingintelligence_obfuscate_passwords.html)

* Dashboard - [Obfuscate keys and passwords](../pingintelligence_reference_guide/pingintelligence_obfuscate_keys_passwords.html)

* API Publish - [Obfuscating passwords](pingintelligence_api_publish_service_obfuscating_passwords.html)

To build the Docker images:

## Steps

1. Configure the base image name and base image operating system details in the `config/docker.conf` file.

2. Download the following PingIntelligence software to the `software` directory:

   1. ASE

   2. ABS

   3. PingIntelligence Dashboard

3. Download OpenJDK 11.0.2, Elasticsearch 7.13.4, Kafka 2.5.0, Zookeeper 3.5.7, and MongoDB 4.2.0 in the `external` directory and save them with their respective names shown in the following table.

   |   |                                                                                                                                                                |
   | - | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | Make sure that MongoDB is as per the base image configured in the `docker.conf` file. Always build Kafka and Zookeeper images first, if building individually. |

   | Software       | File Name                                                                                                                                                         |
   | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | Elasticsearch  | `elasticsearch.tar.gz`                                                                                                                                            |
   | OpenJDK 11.0.2 | `openjdk11.tar.gz`                                                                                                                                                |
   | Kafka          | `kafka.tar.gz`Download the Kafka tar version 2.5.0 tar from <https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz>                                    |
   | Zookeeper      | `zookeeper.tar.gz`Download the Zookeeper tar version 3.5.7 tar from <https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz> |
   | MongoDB        | `mongodb.tgz`                                                                                                                                                     |

4. Run the `build.sh` script to build the Docker images:

   ```shell
   docker-setup# ./bin/build.sh all
   Base image os: rhel
   Creating build context for ASE
   Creating Image
   Image created with tag pingidentity/ase:5.0
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_ase.tar
   Creating build context for abs
   Creating Image
   Image created with tag pingidentity/abs:5.0
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_abs.tar
   Creating build context for dashboard
   Creating Image
   Image created with tag pingidentity/dashboard:5.0
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_dashboard.tar
   Creating build context for mongo
   Creating Image
   Image created with tag pingidentity/mongo:4.2.0
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_mongo.tar
   root@ip-172-31-25-146:/home/ubuntu/docker-setup# vim lib/dashboard/context/entrypoint.sh
   Creating build context for apipublish
   Creating Image
   Image created with tag pingidentity/apipublish:5.1
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_apipublish.tar
   Creating build context for kafka
   Creating Image
   Image created with tag pingidentity/kafka:5.1
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_kafka.tar
   Creating build context for zookeeper
   Creating Image
   Image created with tag pingidentity/zookeeper:5.1
   Image saved to /home/ubuntu/docker-setup/images/pingidentity_zookeeper.tar
   ```

   The other options that you can give with `build.sh` are:

   * `ase`

   * `abs`

   * `dashboard`

   * `mongo`

   * `apipublish`

   * `kafka`

   * `zookeeper`

5. Verify that the images are created by checking the local registry. Run the following command:

   ```
   sudo docker image ls | grep pingidentity
   ```

   ### Example:

   ```
   pingidentity/dashboard                5.1       e9bbbb21c14d   18 hours ago    1.69GB
   pingidentity/apipublish               5.1       bc3878f8a340   23 hours ago    777MB
   pingidentity/mongo                    4.2.0     21a8177c0a35   23 hours ago    640MB
   pingidentity/abs                      5.1       540c5c384fba   23 hours ago    766MB
   pingidentity/ase                      5.1       262d9207d5de   23 hours ago    424MB
   pingidentity/zookeeper                5.1       1cf24526f8cf   23 hours ago    690MB
   pingidentity/kafka                    5.1       f9118757f234   23 hours ago    737MB
   ```

6. Verify that the Docker images are saved in the `images` directory:

   ```shell
   docker-setup# ls -ltra images/
   ```

   |   |                                                                                      |
   | - | ------------------------------------------------------------------------------------ |
   |   | The Docker images do not install any additional packages like `vi` editor and so on. |

   ### Example:

   ```
   -rw-------.  1 root root  601075200 Dec  2 00:24 pingidentity_kafka.tar
   -rw-------.  1 root root  554516992 Dec  2 00:24 pingidentity_zookeeper.tar
   -rw-------.  1 root root  287269376 Dec  2 00:24 pingidentity_ase.tar
   -rw-------.  1 root root  628353024 Dec  2 00:24 pingidentity_abs.tar
   -rw-------.  1 root root 1549656576 Dec  2 00:25 pingidentity_dashboard.tar
   -rw-------.  1 root root  503818752 Dec  2 00:26 pingidentity_mongo.tar
   -rw-------.  1 root root  637405184 Dec  2 00:26 pingidentity_apipublish.tar
   ```
