Trying Starburst Enterprise with Docker #
You can install Starburst Enterprise platform (SEP) in a Docker container and run it on any Docker host. This is especially useful as a test or demo environment or to evaluate SEP.
With custom configuration of the containers for the SEP coordinator and worker nodes, you can run a set of Docker containers to implement a Linux-hosted SEP cluster on your local network or on a cloud provider.
This page presumes you have Docker installed and running, and presumes some familiarity with Docker commands. For Mac and Windows evaluations, make sure you have Docker Desktop installed and running.
Initial run of SEP on Docker #
Starburst provides a Docker image on Docker Hub that contains a trial configuration of SEP. Use the following command to download and run this image:
docker run -d -p 8080:8080 --name sepdock starburstdata/starburst-enterprise:latest
If you know you need a particular release, substitute its number for
starburstdata/starburst-enterprise:354-e. For release 350 and
earlier, you must use the identifier
docker run options have the following meanings:
||Map ports as
||Provide a name for the image to use in subsequent Docker commands|
To make sure the server starts in Docker, continually view the Docker logs until you see “======== SERVER STARTED ========”.
docker logs sepdock docker logs sepdock ...
docker ps command to verify that the your sepdock service is
docker ps -a to locate a server that failed to start.
Docker image features #
The default SEP image has the following characteristics:
- There is no Trino CLI command installed in the Docker image itself. You can, of course, run the CLI on the host.
- The jvm.config file is set to use 1G maximum
- The following catalogs are installed:
Verify the server #
To verify that your Docker-hosted SEP server is operating as expected, run the Trino UI as described in Verify the server.
Run queries #
To run queries against your server, use the Trino CLI as described in CLI.
Map a local etc directory #
The Starburst-provided Docker image gives you a certain set of configuration files. But the whole point of running Starburst Enterprise is to query your own data sources. How do you provide your own configuration files to the Docker-hosted server?
Starburst does not recommend going into the Docker image to change
configuration files there. Those changes would be lost the next time
Starburst updated the public Docker image to a new version, which your
docker run command would automatically download and use.
Instead, you can map the
etc directory used by the SEP instance
running in Docker to a local directory. Once configured, the Docker-hosted
SEP uses the local
etc directory as its primary source of
configuration files, and ignores the default settings in the Docker image.
To do this requires one extra
docker run option. If your Docker-hosted
SEP is running now, first stop and remove it:
docker stop sepdock docker rm sepdock
Populate the local etc directory #
Create a local directory to contain your custom SEP configuration files. For example:
mkdir -p ~/sepdock
The simplest way to test your local
etc directory is to use the set of
configuration files provided as examples for the O’Reilly book Trino: The
Download these samples from their GitHub location either as a zip file or a git clone.
Unzip or clone the files into a local directory, such as
there, copy the entire
etc directory from the
single-installation sample to
~/sepdock directory. For example:
cd ~/bookfiles/single-installation rsync -av etc ~/sepdock/
Edit local configuration files #
Navigate to your local
etc directory. For example:
Inspect the configuration files provided there for suitability with Docker. For
jvm.config file sets
-Xmx16G, which might be too large for
Docker running on Docker Desktop on Mac or Windows. Set that to a lower value
Restart to use the local etc directory #
docker run command has another useful option:
||Specify a directory in the container to mount to a host directory|
The syntax for the
‑‑volume option is:
Specify localPath first, followed by containerPath, separated by a colon. No options are needed. Options are described in Docker documentation.
If your Docker-hosted server is running, stop and remove it:
docker stop sepdock docker rm sepdock
Make sure you’re still in the
~/sepdock/etc directory. Then rerun the Docker
image, this time including a
‑‑volume option that maps the current directory
etc directory inside the Docker image,
cd ~/sepdock/etc docker run -d -p 8080:8080 --volume $PWD:/usr/lib/presto/etc --name sepdock starburstdata/starburst-enterprise:latest
Continually view the Docker logs as before, waiting to see “======== SERVER STARTED ========”:
docker logs sepdock ... docker logs sepdock ...
Verify that the server is running by using the Web UI as described in Verify the server.
To run queries, connect the Trino
CLI to the Docker-hosted
SEP instance. Run the
show schemas;, and
show tables; commands to confirm the assets of the server.
Configure custom data sources #
etc directory feature described in the previous section lets you
work locally to make changes to your Docker environment.
Continue adding new catalogs and configuring features that customize connections to the data sources you need SEP to see.
Is the information on this page helpful?