@@ -14,26 +14,31 @@ services:
1414 - mysql-router-http
1515 - mysql-router-https
1616
17+ # why using `latest` tag?
18+ # Oracle does not pin the version of mysql-server of linux/amd64 ^^
1719 mysql-server-1 :
18- env_file :
19- - mysql-server.env
20- image : mysql/mysql-server:${VERSION}
20+ environment :
21+ MYSQL_ROOT_PASSWORD : " mysql"
22+ MYSQL_ROOT_HOST : " %"
23+ image : container-registry.oracle.com/mysql/community-server:latest
2124 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" ]
2225 ports :
2326 - " 3301:3306"
2427
2528 mysql-server-2 :
26- env_file :
27- - mysql-server.env
28- image : mysql/mysql-server:${VERSION}
29+ environment :
30+ MYSQL_ROOT_PASSWORD : " mysql"
31+ MYSQL_ROOT_HOST : " %"
32+ image : container-registry.oracle.com/mysql/community-server:latest
2933 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" ]
3034 ports :
3135 - " 3302:3306"
3236
3337 mysql-server-3 :
34- env_file :
35- - mysql-server.env
36- image : mysql/mysql-server:${VERSION}
38+ environment :
39+ MYSQL_ROOT_PASSWORD : " mysql"
40+ MYSQL_ROOT_HOST : " %"
41+ image : container-registry.oracle.com/mysql/community-server:latest
3742 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" ]
3843 ports :
3944 - " 3303:3306"
@@ -42,26 +47,38 @@ services:
4247 platform : linux/amd64
4348 build :
4449 context : ./mysql-shell
50+ args :
51+ MYSQL_SHELL_PACKAGER_URL : " https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.1.0-1.el7.x86_64.rpm"
4552 dockerfile : Dockerfile
46- env_file :
47- - mysql-shell.env
53+ environment :
54+ MYSQL_USER : " root"
55+ MYSQL_HOST : " mysql-server-1"
56+ MYSQL_PORT : " 3306"
57+ MYSQL_PASSWORD : " mysql"
58+ MYSQLSH_SCRIPT : " /setupCluster.js"
4859 image : mysqlshell:${VERSION}
4960 depends_on :
5061 - mysql-server-1
5162 - mysql-server-2
5263 - mysql-server-3
5364
54- #
55- # DO NOT CHANGE APP NAME
56- # WE WILL HAVE TO CHANGE CERTIFICATES.
57- #
65+ #
66+ # DO NOT CHANGE APP NAME
67+ # WE WILL HAVE TO CHANGE CERTIFICATES.
68+ #
5869 mysql-router-http :
5970 platform : linux/amd64
6071 build :
6172 context : ./mysql-router
73+ args :
74+ MYSQL_YUM_REPO_URL : https://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm
6275 dockerfile : Dockerfile_http
63- env_file :
64- - mysql-router.env
76+ environment :
77+ MYSQL_USER : " root"
78+ MYSQL_HOST : " mysql-server-1"
79+ MYSQL_PORT : " 3306"
80+ MYSQL_PASSWORD : mysql
81+ MYSQL_INNODB_NUM_MEMBERS : 3
6582 image : mysqlrouter-http:${VERSION}
6683 ports :
6784 - " 8080:8080"
@@ -71,17 +88,23 @@ services:
7188 - mysql-server-3
7289 restart : on-failure
7390
74- #
75- # DO NOT CHANGE APP NAME
76- # WE WILL HAVE TO CHANGE CERTIFICATES.
77- #
91+ #
92+ # DO NOT CHANGE APP NAME
93+ # WE WILL HAVE TO CHANGE CERTIFICATES.
94+ #
7895 mysql-router-https :
7996 platform : linux/amd64
8097 build :
8198 context : ./mysql-router
99+ args :
100+ MYSQL_YUM_REPO_URL : https://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm
82101 dockerfile : Dockerfile_https
83- env_file :
84- - mysql-router.env
102+ environment :
103+ MYSQL_USER : " root"
104+ MYSQL_HOST : " mysql-server-1"
105+ MYSQL_PORT : " 3306"
106+ MYSQL_PASSWORD : mysql
107+ MYSQL_INNODB_NUM_MEMBERS : 3
85108 image : mysqlrouter-https:${VERSION}
86109 ports :
87110 - " 8443:8443"
0 commit comments