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.