Run a DSE Docker container

Docker is defined as a platform to help developers build, share, and run modern applications. Docker allows a developer to run images that are composed of software they wish to experiment with and try out. A Docker image is a read-only immutable template that defines how a container is instantiated. Then, a container, which is a runtime instance of a Docker image, is created to run on the local machine.

DataStax maintains images for many licensed products and open-source software on Docker Hub, IBM® Fix Central, or IBM® Cloud Container Registry (ICR). This guide focuses on the images for DSE and related software:

  • DSE server Docker image: A single DSE node, with or without advanced workloads. Can be scaled to deploy multiple nodes using docker compose.

    Cassandra File System (CFS) isn’t supported in containers.

  • Data API Docker image: An API that you can use to interact with DSE 6.9 as an alternative to Cassandra drivers.

  • DataStax Studio Docker image: An interactive developer tool for sending Cassandra Query Language (CQL), DSE Graph, and Gremlin Query Language queries in notebook format.

  • DSE OpsCenter Docker image: A web-based visual management and monitoring solution for DSE.

    Lifecycle Manager (LCM) isn’t supported in containers.

These images can be used in development (non-production) or production environments.

This guide assumes you are familiar with Docker images, containers, and compose scripts.

Prepare infrastructure

  1. Install Docker Engine:

  2. Adjust hardware resources and system settings to support the containers that you want to run, as explained in Recommended settings for DataStax Enterprise (DSE) Docker containers.

Start a DSE server container

  1. Download a DSE server container image from Docker Hub or use the docker pull command:

    docker pull datastax/dse-server:DSE_VERSION
  2. Start the container with the default configuration:

    docker run -e DS_LICENSE=accept --name my-dse \
    -d datastax/dse-server:DSE_VERSION

    By default, a dse-server container is one transactional (database) node without advanced workloads.

For a list of required arguments and common options for DataStax containers, see Options for docker run and docker compose.

Enable advanced workloads

To start a dse-server container with DSE Search, Graph, or Analytics enabled, pass the -s, -g, or -k options when you start the container:

  • -s: Start the container with DSE Search enabled:

    docker run -e DS_LICENSE=accept --name my-dse \
    -d datastax/dse-server:DSE_VERSION -s
  • -g: Start the container with DSE Graph enabled:

    docker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:DSE_VERSION -g
  • -k: Start the container with DSE Analytics enabled:

    docker run -e DS_LICENSE=accept --name my-dse \
    -d datastax/dse-server:DSE_VERSION -k
  • Multiple options: Enable multiple types of advanced workloads:

    docker run -e DS_LICENSE=accept --name my-dse -d datastax/dse-server:DSE_VERSION -g -k -s

Use the Data API with a DSE container

When you start a DSE server container, you have two options for accessing the Data API:

  • Start a Data API container concurrently with the DSE container.

  • Start the DSE container without the Data API container. In this case, you can use a local non-Docker instance of the Data API that you build and run separately.

For more information, instructions, and docker-compose files, see the Data API GitHub repository.

Attach to a container

Use the docker exec -it container_name command to attach to a container and run DSE tools and other operations.

Open an interactive BASH shell

If the container is running in the background (started with the -d option), use the following command to open an interactive BASH shell:

docker exec -it container_name bash

To exit the shell without stopping the container, type exit, and then press Return.

Open an interactive CQL shell

Use the following command to open the CQL shell (cqlsh) prompt.

docker exec -it container_name cqlsh

To exit the shell without stopping the container, press Ctrl + P + Q.

View logs

View DSE logs using the docker logs command:

docker logs my-dse
Use DSE tools

Use the docker exec command to run other DSE tools. For example:

docker exec -it my-dse nodetool status

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2026 | Privacy policy | Terms of use Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: Contact IBM