github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/dm/tests/tiup/docker/docker-compose.yml (about)

     1  version: "3.7"
     2  
     3  networks:
     4    dm-tiup:
     5      ipam: # for static IP
     6        config:
     7          - subnet: "172.28.0.0/24"
     8  
     9  # re-usable extension fields, https://docs.docker.com/compose/compose-file/#extension-fields.
    10  x-node: &default-node
    11    # build: ./node
    12    image: csuzhangxc/dm-tiup-work:latest
    13    env_file: ./secret/node.env
    14    working_dir: /root
    15    privileged: true
    16    networks:
    17      - dm-tiup
    18    ports:
    19      - 22
    20      - 3000
    21      - 8261
    22      - 8262
    23      - 8291
    24      - 9090
    25  
    26  services:
    27    mysql1: # upstream MySQL-1
    28      container_name: mysql1
    29      hostname: mysql1
    30      networks:
    31        dm-tiup:
    32          ipv4_address: 172.28.0.201
    33      image: mysql:5.7.32
    34      command: --default-authentication-plugin=mysql_native_password --log-bin=/var/lib/mysql/mysql-bin --server-id=1 --binlog-format=ROW --gtid_mode=ON --enforce-gtid-consistency=true --lower_case_table_names=0
    35      restart: always
    36      environment:
    37        MYSQL_ROOT_PASSWORD: ""
    38        MYSQL_ALLOW_EMPTY_PASSWORD: 1
    39  
    40    mariadb2: # upstream MariaDB
    41      container_name: mariadb2
    42      hostname: mariadb2
    43      networks:
    44        dm-tiup:
    45          ipv4_address: 172.28.0.202
    46      image: mariadb:10.5.8
    47      command: --log-bin --server-id=1 --binlog-format=ROW --lower_case_table_names=0
    48      restart: always
    49      environment:
    50        MYSQL_ROOT_PASSWORD: ""
    51        MYSQL_ALLOW_EMPTY_PASSWORD: 1
    52  
    53    tidb: # downstream TiDB
    54      container_name: tidb
    55      hostname: tidb
    56      networks:
    57        dm-tiup:
    58          ipv4_address: 172.28.0.203
    59      image: pingcap/tidb:v4.0.7
    60      command:
    61        - --path=/data
    62      volumes: # persist data for upgrade
    63        - ./data:/data
    64      restart: always
    65  
    66    control:
    67      <<: *default-node
    68      container_name: control
    69      hostname: control
    70      # build: ./control
    71      image: csuzhangxc/dm-tiup-control:latest
    72      env_file: ./secret/control.env
    73      environment:
    74        - ref='refs/heads/main'
    75      networks:
    76        dm-tiup:
    77          ipv4_address: 172.28.0.100
    78      volumes: # mount the whole GOPATH because we put the repo under it.
    79        - ${GOPATH}:/go
    80  
    81    master1: # node for deploy DM-master-1 (add more nodes if needed)
    82      <<: *default-node
    83      container_name: master1
    84      hostname: master1
    85      networks:
    86        dm-tiup:
    87          ipv4_address: 172.28.0.101
    88  
    89    worker1: # node for deploy DM-worker-1
    90      <<: *default-node
    91      container_name: worker1
    92      hostname: worker1
    93      networks:
    94        dm-tiup:
    95          ipv4_address: 172.28.0.111
    96  
    97    worker2: # node for deploy DM-worker-2
    98      <<: *default-node
    99      container_name: worker2
   100      hostname: worker2
   101      networks:
   102        dm-tiup:
   103          ipv4_address: 172.28.0.112
   104  
   105    monitor: # node for deploy Prometheus and Grafana
   106      <<: *default-node
   107      container_name: monitor
   108      hostname: monitor
   109      networks:
   110        dm-tiup:
   111          ipv4_address: 172.28.0.121
   112