#1
Teradata Database is a powerful enterprise-grade relational database system often used in data warehousing, analytics, and large-scale processing environments. While traditionally deployed on servers or in cloud environments, Teradata also provides a Docker image for local development and testing.
In this guide, we’ll walk you through how to install and run Teradata using Docker, giving you a local environment to explore SQL queries, test integrations, or build prototype apps.

Why Use Docker to Run Teradata?

Installing Teradata directly on your machine can be heavy and complex. Docker solves this by letting you run Teradata in an isolated container with:
  • No manual installation or system changes
  • Quick startup and teardown
  • Perfect for testing and development
  • The same setup across all platforms

Prerequisites

Before starting, make sure Docker is installed on your machine.

For macOS or Windows:

Download Docker Desktop from:
👉 https://www.docker.com/products/docker-desktop

For Linux:

sudo apt update && sudo apt install docker.io
Confirm installation with:
docker --version

⚠️ Note on Availability

Teradata does not provide a public Docker image like other open-source databases. However, Teradata offers a Teradata Express (TD Express) image for Docker, which can be downloaded via Teradata’s official Docker registry or community editions.
You’ll need to:
  1. Create a Teradata account
  2. Accept license agreements
  3. Manually pull or load the image
Let’s walk through the steps.

Step 1: Download Teradata Express Docker Image

Visit the official Teradata Downloads page:👉 https://downloads.teradata.com/download/tools/teradata-express-database-for-docker
  1. Sign in or create a free Teradata account.
  2. Download the teradata/td-express Docker image (usually provided as a .tar file).
  3. Once downloaded, import the image into Docker:
docker load -i td-express-image.tar
This loads the Teradata image into your local Docker registry.

Step 2: Run the Teradata Container

After loading the image, run the container using:
docker run -d --name teradata \
  -p 1025:1025 \
  -p 1026:1026 \
  -p 1027:1027 \
  -p 3306:3306 \
  -e ACCEPT_EULA=Y \
  teradata/td-express

What this does:

  • Starts the container in the background (-d)
  • Exposes ports for SQL Engine and system access
  • Accepts the End-User License Agreement
  • Runs the Teradata Express container with default settings

Step 3: Check if Teradata is Running

To verify that Teradata is running properly:
docker ps
You should see teradata/td-express running. To view logs:
docker logs -f teradata
Wait until you see a message indicating the system is ready to accept SQL sessions.

Step 4: Connect to Teradata

You can connect to Teradata using one of the following methods:

Using BTEQ CLI (inside container):

docker exec -it teradata /opt/teradata/client/16.20/bin/bteq
Then connect:
.LOGON localhost/dbc,dbc;
The default user is dbc with password dbc.

Using GUI Tools:

You can use tools like:
  • Teradata Studio
  • DBeaver (with Teradata plugin)
  • SQL Assistant
Connection settings:
  • Host: localhost
  • Port: 1025 (or other based on config)
  • Username: dbc
  • Password: dbc
  • Database: leave as default or use dbc

Step 5: (Optional) Use Volumes to Persist Data

If you'd like to persist Teradata data across restarts:
docker volume create td-data
Then run the container with volume:
docker run -d --name teradata \
  -v td-data:/var/opt/teradata \
  -p 1025:1025 -e ACCEPT_EULA=Y \
  teradata/td-express
This way, the database files are stored in the Docker volume td-data.

Step 6: Manage the Teradata Container

Task Command
Stop container docker stop teradata
Start container again docker start teradata
Remove container docker rm -f teradata
Remove volume docker volume rm td-data
View logs docker logs teradata

Best Practices

  • Use Docker volumes to avoid losing your data.
  • Don’t expose ports to the public without security.
  • Change default dbc password if using beyond local testing.
  • Use GUI tools or JDBC drivers for easier development.

image quote pre code