Skip to main content
Version: 3.1.0 (Preview)

Docker Environment Setup

Docker can provide a repeatable development and validation environment for an Ambari 3.1.0 candidate, but this guide does not provide an official Ambari 3.1.0 image. Select a trusted base image approved for the candidate operating system, then configure the reviewed RPM repository or install candidate RPMs.

Host Requirements

Use Docker Engine and Compose versions supported by your host team, with enough CPU, memory, disk, and nested-service support for one Server and Agents. Use a user-managed bridge network with stable service names; do not hard-code stale container IP addresses. Persist the database and repository directories.

The image must provide JDK 17 for Ambari, while Stack services may use a separate JDK. Provide Linux Python 3.9.2+ and the package's CPython cp39 ABI; Rocky 8 images need AppStream python39 and the Ambari Python wrapper.

Compose Environment

Create a local docker-compose.yml from the approved base image. The following structure is only a template; replace its image name and mount paths with reviewed values from the target environment:

services:
ambari-server:
image: your-approved-base-image
command: /sbin/init
ports: ["8080:8080"]
volumes: ["./ambari-repo:/var/repo/ambari", "./state/server:/var/lib/ambari-server"]
ambari-agent:
image: your-approved-base-image
command: /sbin/init
volumes: ["./ambari-repo:/var/repo/ambari", "./state/agent:/var/lib/ambari-agent"]
mkdir -p ambari-repo state/server state/agent
docker compose up -d
docker compose ps

Install the same reviewed Server/Agent packages in the containers. Configure database details with sudo ambari-server setup, separate Java homes, and pre-provisioned CA trust. Validate container DNS, TLS, time, required ports, heartbeat, and persistence after restart. Do not solve connectivity by disabling all security controls.

For building from the actual source tree, its helper provides a Rocky 8 build envelope with JDK 17 and Python 3.9:

./start-build-env.sh bash
./start-build-env.sh mvn -B -DskipTests package

These are build commands, not a ready-made cluster image. See Download.