MinIO provides S3-compatible object storage for Iceberg lakehouses when teams need on-premises, hybrid, or edge deployment, operational control, predictable costs, and high performance. It can run on physical servers, virtual machines, Kubernetes clusters, containers, or edge infrastructure, while integrating with engines that already use the S3 API. section 5.4.6
Within an Iceberg lakehouse, MinIO handles the storage layer:
- Stores Iceberg table data files and metadata files in an S3-compatible object store. section 3.2.3
- Provides a local substitute for cloud object storage in development and testing environments. section 3.2
- Supports Iceberg workloads with erasure coding, inline compression, object locking, and efficient small-object operations. section 5.4.6
- Offers local control for regulated or air-gapped deployments, including the hybrid storage model used by Hamerliva Bank. section 4.5.1
Local Iceberg storage with Docker Compose
Run MinIO alongside Nessie, Spark, Dremio, PostgreSQL, and Superset on a shared Docker network. Expose port 9000 for S3-compatible access and port 9001 for the web console, configure root credentials and the us-east-1 region, and use /data as the storage directory. Create a warehouse bucket, configure Spark with an S3 warehouse path, and inspect the resulting Parquet, JSON, and Avro files in MinIO. section 3.2.2 section 3.3.2 section 3.3.5
minio: #1
image: minio/minio:latest
container_name: minio
environment:
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=password
- MINIO_REGION=us-east-1
networks:
lakehouse-net:
ports:
- 9001:9001
- 9000:9000
command: ["server", "/data", "--console-address", ":9001"]
Shows a minimal MinIO Docker Compose service with credentials, networking, exposed API and console ports, and the server command. section 3.2.2


