tidbのローカルでの簡単な構築方法

検証用にローカルで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

参考

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です