Installing TiDB with Docker - Building a Test Environment

This is how to install a TiDB test environment using Docker.

Caution: This installation method is for testing and must not be used in a production environment.

Installation Requirements

  • Docker: 17.03 or later
  • Docker Compose: 1.6.0 or later

Quick Installation

Get tidb-docker-compose

First, get the tidb-docker-compose project from GitHub.

git clone https://github.com/pingcap/tidb-docker-compose.git

Create and start the cluster

Move into the downloaded directory.

cd tidb-docker-compose

Pull the latest Docker images.

docker-compose pull
% docker-compose pull
Pulling pd0            ... done
Pulling pd1            ... done
Pulling pd2            ... done
Pulling tikv0          ... done
Pulling tikv1          ... done
Pulling tikv2          ... done
Pulling tidb           ... done
Pulling tispark-master ... done
Pulling tispark-slave0 ... done
Pulling tidb-vision    ... done
Pulling pushgateway    ... done
Pulling prometheus     ... done
Pulling grafana        ... done

Create and start the containers.

docker-compose up -d
% docker-compose up -d
Creating network "tidb-docker-compose_default" with the default driver
Creating tidb-docker-compose_tidb-vision_1 ... done
Creating tidb-docker-compose_prometheus_1  ... done
Creating tidb-docker-compose_pushgateway_1 ... done
Creating tidb-docker-compose_pd1_1         ... done
Creating tidb-docker-compose_pd2_1         ... done
Creating tidb-docker-compose_pd0_1         ... done
Creating tidb-docker-compose_grafana_1     ... done
Creating tidb-docker-compose_tikv0_1       ... done
Creating tidb-docker-compose_tikv1_1       ... done
Creating tidb-docker-compose_tikv2_1       ... done
Creating tidb-docker-compose_tidb_1           ... done
Creating tidb-docker-compose_tispark-master_1 ... done
Creating tidb-docker-compose_tispark-slave0_1 ... done

Verify the installation

  • Cluster Grafana monitoring page
    • http://localhost:3000
    • To modify Grafana, log in with admin/admin.
  • Cluster data visualization, tidb-vision
    • http://localhost:8010
  • Access the Spark Web UI
    • http://localhost:8080
  • Access TiSpark
    • spark://127.0.0.1:7077

Access with the mysql client

mysql -h http://127.0.0.1 -P 4000 -u root

Stop the cluster

docker-compose stop
% docker-compose stop
Stopping tidb-docker-compose_tispark-slave0_1 ... done
Stopping tidb-docker-compose_tidb_1           ... done
Stopping tidb-docker-compose_tispark-master_1 ... done
Stopping tidb-docker-compose_tikv2_1          ... done
Stopping tidb-docker-compose_tikv1_1          ... done
Stopping tidb-docker-compose_tikv0_1          ... done
Stopping tidb-docker-compose_prometheus_1     ... done
Stopping tidb-docker-compose_grafana_1        ... done
Stopping tidb-docker-compose_pd2_1            ... done
Stopping tidb-docker-compose_pd0_1            ... done
Stopping tidb-docker-compose_pd1_1            ... done
Stopping tidb-docker-compose_tidb-vision_1    ... done
Stopping tidb-docker-compose_pushgateway_1    ... done