Skip to main content
Version: 0.4.0

User Docker images

There are two kinds of Docker images you can use: the Gravitino Docker image and playground Docker images.

Gravitino Docker image

You can deploy the service with the Gravitino Docker image.

Container startup commands

docker run --rm -d -p 8090:8090 -p 9001:9001 datastrato/gravitino


  • gravitino:0.4.0

    • Based on Gravitino 0.4.0, you can know more information from 0.4.0 release notes.
  • gravitino:0.3.1

    • Fix some issues
  • gravitino:0.3.0

    • Docker image datastrato/gravitino:0.3.0
    • Gravitino Server
    • Expose ports:
      • 8090 Gravitino Web UI
      • 9001 Iceberg REST service

Playground Docker image

You can use the playground to experience the whole Gravitino system with other components.

The playground consists of multiple Docker images.

The Docker images of the playground have suitable configurations for users to experience.

Hive image


  • hive:2.7.3-no-yarn
    • Docker image datastrato/hive:2.7.3-no-yarn
    • hadoop-2.7.3
    • hive-2.3.9
    • Don't start YARN when container startup

Trino image


  • trino:426-gravitino-0.4.0

    • Based on Gravitino 0.4.0, you can know more information from 0.4.0 release notes.
  • trino:426-gravitino-0.3.1

    • Fix some issues
  • trino:426-gravitino-0.3.0

    • Docker image datastrato/trino:426-gravitino-0.3.0
    • Base on trino:462
    • Added Gravitino trino-connector-0.3.0 libraries into the /usr/lib/trino/plugin/gravitino

Developer Docker images

You can use these kinds of Docker images to facilitate integration testing of all catalog and connector modules within Gravitino.

Gravitino CI Apache Hive image

You can use this kind of image to test the catalog of Apache Hive.


  • gravitino-ci-hive:0.1.8

    • Change the value of hive.server2.enable.doAs to true
  • gravitino-ci-hive:0.1.7

    • Download MySQL JDBC driver before building the Docker image
    • Set hdfs as HDFS superuser group
  • gravitino-ci-hive:0.1.6

    • No starting YARN when container startup
    • Removed expose ports:
      • 22 SSH
      • 8088 YARN Service
  • gravitino-ci-hive:0.1.5

    • Rollback Map container hostname to before starting Hadoop of datastrato/gravitino-ci-hive:0.1.4
  • gravitino-ci-hive:0.1.4

    • Configure HDFS DataNode data transfer address to be
    • Map the container hostname to before starting Hadoop
    • Expose 50010 port for the HDFS DataNode
  • gravitino-ci-hive:0.1.3

    • Change MySQL bind-address from to
    • Add iceberg to MySQL users with password iceberg
    • Export 3306 port for MySQL
  • gravitino-ci-hive:0.1.2

    • Based on datastrato/gravitino-ci-hive:0.1.1
    • Modify fs.defaultFS from local to in the core-site.xml file.
    • Expose 9000 port in the Dockerfile file.
  • gravitino-ci-hive:0.1.1

    • Based on datastrato/gravitino-ci-hive:0.1.0
    • Modify HDFS/YARN/HIVE MaxPermSize from 8GB to 128MB
    • Modify HADOOP_HEAPSIZE from 8192 to 128
  • gravitino-ci-hive:0.1.0

    • Docker image datastrato/gravitino-ci-hive:0.1.0
    • hadoop-2.7.3
    • hive-2.3.9
    • Expose ports:
      • 22 SSH
      • 9000 HDFS defaultFS
      • 50070 HDFS NameNode
      • 50075 HDFS DataNode HTTP server
      • 50010 HDFS DataNode data transfer
      • 8088 YARN Service
      • 9083 Hive metastore
      • 10000 HiveServer2
      • 10002 HiveServer2 HTTP

Gravitino CI Trino image

You can use this image to test Trino.


  • gravitino-ci-trino:0.1.4

    • Change -Xmx1G to -Xmx2G in the config file /etc/trino/jvm.config
  • gravitino-ci-trino:0.1.3

    • Remove copy content in folder gravitino-trino-connector to plugin folder /usr/lib/trino/plugin/gravitino
  • gravitino-ci-trino:0.1.2

    • Copy JDBC driver 'mysql-connector-java' and 'postgres' to /usr/lib/trino/iceberg/ folder
  • gravitino-ci-trino:0.1.0

    • Docker image datastrato/gravitino-ci-trino:0.1.0
    • Based on trinodb/trino:426 and removed some unused plugins from it.
    • Expose ports:
      • 8080 Trino JDBC port