File: docker-compose.yml

package info (click to toggle)
golang-github-rluisr-mysqlrouter-go 1.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 264 kB
  • sloc: sh: 215; javascript: 15; makefile: 11
file content (115 lines) | stat: -rw-r--r-- 4,134 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# See .env

version: '3'
services:
  mysqlrouter-go-test:
    image: golang
    build:
      context: ..
      dockerfile: Dockerfile_test
    stdin_open: true
    volumes:
      - .:/go/src/github.com/rluisr/mysqlrouter-go
    depends_on:
      - mysql-router-http
      - mysql-router-https

  # why using `latest` tag?
  # Oracle does not pin the version of mysql-server of linux/amd64 ^^
  mysql-server-1:
    environment:
      MYSQL_ROOT_PASSWORD: "mysql"
      MYSQL_ROOT_HOST: "%"
    image: container-registry.oracle.com/mysql/community-server:latest
    command: [ "mysqld","--server_id=1", "--binlog-transaction-dependency-tracking=WRITESET", "--binlog_checksum=NONE","--gtid_mode=ON","--enforce_gtid_consistency=ON","--log_bin","--log_slave_updates=ON","--master_info_repository=TABLE","--relay_log_info_repository=TABLE","--transaction_write_set_extraction=XXHASH64","--user=mysql","--skip-host-cache","--skip-name-resolve", "--default_authentication_plugin=mysql_native_password" ]
    ports:
      - "3301:3306"

  mysql-server-2:
    environment:
      MYSQL_ROOT_PASSWORD: "mysql"
      MYSQL_ROOT_HOST: "%"
    image: container-registry.oracle.com/mysql/community-server:latest
    command: [ "mysqld","--server_id=2","--binlog-transaction-dependency-tracking=WRITESET", "--binlog_checksum=NONE","--gtid_mode=ON","--enforce_gtid_consistency=ON","--log_bin","--log_slave_updates=ON","--master_info_repository=TABLE","--relay_log_info_repository=TABLE","--transaction_write_set_extraction=XXHASH64","--user=mysql","--skip-host-cache","--skip-name-resolve", "--default_authentication_plugin=mysql_native_password" ]
    ports:
      - "3302:3306"

  mysql-server-3:
    environment:
      MYSQL_ROOT_PASSWORD: "mysql"
      MYSQL_ROOT_HOST: "%"
    image: container-registry.oracle.com/mysql/community-server:latest
    command: [ "mysqld","--server_id=3","--binlog-transaction-dependency-tracking=WRITESET", "--binlog_checksum=NONE","--gtid_mode=ON","--enforce_gtid_consistency=ON","--log_bin","--log_slave_updates=ON","--master_info_repository=TABLE","--relay_log_info_repository=TABLE","--transaction_write_set_extraction=XXHASH64","--user=mysql","--skip-host-cache","--skip-name-resolve", "--default_authentication_plugin=mysql_native_password" ]
    ports:
      - "3303:3306"

  mysql-shell:
    platform: linux/amd64
    build:
      context: ./mysql-shell
      args:
        MYSQL_SHELL_PACKAGER_URL: "https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.1.0-1.el7.x86_64.rpm"
      dockerfile: Dockerfile
    environment:
      MYSQL_USER: "root"
      MYSQL_HOST: "mysql-server-1"
      MYSQL_PORT: "3306"
      MYSQL_PASSWORD: "mysql"
      MYSQLSH_SCRIPT: "/setupCluster.js"
    image: mysqlshell:${VERSION}
    depends_on:
      - mysql-server-1
      - mysql-server-2
      - mysql-server-3

  #
  # DO NOT CHANGE APP NAME
  # WE WILL HAVE TO CHANGE CERTIFICATES.
  #
  mysql-router-http:
    platform: linux/amd64
    build:
      context: ./mysql-router
      args:
        MYSQL_YUM_REPO_URL: https://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm
      dockerfile: Dockerfile_http
    environment:
      MYSQL_USER: "root"
      MYSQL_HOST: "mysql-server-1"
      MYSQL_PORT: "3306"
      MYSQL_PASSWORD: mysql
      MYSQL_INNODB_NUM_MEMBERS: 3
    image: mysqlrouter-http:${VERSION}
    ports:
      - "8080:8080"
    depends_on:
      - mysql-server-1
      - mysql-server-2
      - mysql-server-3
    restart: on-failure

  #
  # DO NOT CHANGE APP NAME
  # WE WILL HAVE TO CHANGE CERTIFICATES.
  #
  mysql-router-https:
    platform: linux/amd64
    build:
      context: ./mysql-router
      args:
        MYSQL_YUM_REPO_URL: https://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm
      dockerfile: Dockerfile_https
    environment:
      MYSQL_USER: "root"
      MYSQL_HOST: "mysql-server-1"
      MYSQL_PORT: "3306"
      MYSQL_PASSWORD: mysql
      MYSQL_INNODB_NUM_MEMBERS: 3
    image: mysqlrouter-https:${VERSION}
    ports:
      - "8443:8443"
    depends_on:
      - mysql-server-1
      - mysql-server-2
      - mysql-server-3
    restart: on-failure