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:
- Create a Teradata account
- Accept license agreements
- 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
- Sign in or create a free Teradata account.
- Download the
teradata/td-express
Docker image (usually provided as a .tar
file).
- 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