検証用にローカルでtidbを立てたかったので下記のようなdocker-compose.ymlをつくりました。
https://github.com/pg-ito/simple_tidb/blob/main/docker-compose.yml
注意点としてはローカルで動かすのでパフォーマンスよりもディスクサイズやメモリ消費を抑えるようにしてあります。
その関係でpdコンテナやtikvコンテナは本来最低3つずつ必要なのですが1つずつに絞っています。
version: '2.1'
services:
pd0:
image: pingcap/pd:latest
ports:
- "2379"
volumes:
- ./data:/data
- ./logs:/logs
command:
- --name=pd0
- --client-urls=http://0.0.0.0:2379
- --peer-urls=http://0.0.0.0:2380
- --advertise-client-urls=http://pd0:2379
- --advertise-peer-urls=http://pd0:2380
- --initial-cluster=pd0=http://pd0:2380
- --data-dir=/data/pd0
- --log-file=/logs/pd0.log
restart: on-failure
tikv0:
image: pingcap/tikv:latest
volumes:
- ./config/tikv.toml:/tikv.toml:ro
- ./data:/data
- ./logs:/logs
command:
- --addr=0.0.0.0:20160
- --advertise-addr=tikv0:20160
- --data-dir=/data/tikv0
- --pd=pd0:2379
- --config=/tikv.toml
- --log-file=/logs/tikv0.log
depends_on:
- "pd0"
restart: on-failure
tidb:
image: pingcap/tidb:latest
ports:
- "4000:4000"
- "10080:10080"
volumes:
- ./logs:/logs
command:
- --store=tikv
- --path=pd0:2379
- --log-file=/logs/tidb.log
- --advertise-address=tidb
depends_on:
- "tikv0"
restart: on-failure
参考