13. HammerDB Multi-Architecture Docker Images

HammerDB uses multi-architecture Docker images to run on linux/amd64 and linux/arm64 hosts. Docker chooses the appropriate platform image from a published multi-platform manifest. The architecture-aware build and publishing workflow was introduced with the HammerDB 6.0 images and remains the basis for the 6.1 release. Check the TPC-Council Docker Hub repository for the latest release available.

The image family consists of a base image, database-specific client images for MySQL, MariaDB, PostgreSQL, Oracle and SQL Server, and a combined image containing those five database clients. IBM Db2 is not included in the combined published image. VillageSQL is a MySQL-compatible database engine and uses the corresponding MySQL client library within HammerDB; the published image catalog should be checked for any additional engine-specific image tags.

13.1. Pulling and Running a Published Image

The Docker image tags are versioned. For example, the published HammerDB 6.1 multi-architecture image may be pulled as follows;

docker pull tpcorg/hammerdb:v6.1-mysql

To start a container with a known published tag, specify that exact tag in docker run. Ensure that networking, database connection settings and client libraries are appropriate to the host and SUT. On Linux, --network host may be appropriate for local test deployments where host networking is required.

docker run --rm -it --network host tpcorg/hammerdb:v6.1-mysql bash

13.2. Building and Publishing Images

The Docker folder in the HammerDB source repository contains Dockerfiles, database-specific client setup, automated tests and multi-architecture build scripts. The official container packages the corresponding published HammerDB release archive plus architecture-matched database client libraries. It builds linux/amd64 and linux/arm64 variants using Docker Buildx and publishes manifest lists after testing.