Advertisement
Guest User

Untitled

a guest
Dec 27th, 2018
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. FROM alpine:latest
  2. RUN apk update && apk upgrade
  3. RUN apk add bash rsync mariadb mariadb-client
  4. COPY ./mysqld/galera.master.cnf /etc/mysql/conf.d/galera.cnf
  5. COPY ./docker-entrypoint.sh /
  6. RUN chmod +x /docker-entrypoint.sh
  7. RUN sed -i "s/{{ this_node_ip }}/$(hostname -I)/g" /etc/mysql/conf.d/galera.cnf
  8. RUN sed -i "s/{{ this_node_name }}/$(hostname)/g" /etc/mysql/conf.d/galera.cnf
  9. ENTRYPOINT ["/docker-entrypoint.sh"]
  10. #ENTRYPOINT ["mysqld"]
  11. #CMD ["param1"]
  12.  
  13.  
  14. sql-variables.env:
  15.  
  16. DB_DATA_PATH="/var/lib/mysql"
  17. DB_ROOT_PASS="somerootpassword"
  18. DB_USER="mariadb_user"
  19. DB_PASS="mariadb_user_password"
  20. MAX_ALLOWED_PACKET="200M"
  21. TAG=latest
  22.  
  23. version: '3'
  24. services:
  25.  
  26. sql-node-00:
  27. build: ./mysqld
  28. image: "mysqld:${TAG}"
  29. hostname: sql-node-00
  30. env_file:
  31. - ./sql-variables.env
  32. networks:
  33. - sql_back
  34. volumes:
  35. - ./mysqld/galera.master.cnf:/etc/mysql/conf.d/galera.cnf
  36. - ./mysqld/data/node0:/var/lib/mysql
  37. restart: always
  38.  
  39. sql-node-01:
  40. image: "mysqld:${TAG}"
  41. hostname: sql-node-01
  42. depends_on:
  43. - sql-node-00
  44. env_file:
  45. - ./sql-variables.env
  46. networks:
  47. - sql_back
  48. volumes:
  49. - ./mysqld/galera.node.cnf:/etc/mysql/conf.d/galera.cnf
  50. - ./mysqld/data/node1:/var/lib/mysql
  51. restart: always
  52.  
  53. sql-node-02:
  54. image: "mysqld:${TAG}"
  55. depends_on:
  56. - sql-node-00
  57. - sql-node-01
  58. hostname: sql-node-02
  59. env_file:
  60. - ./sql-variables.env
  61. networks:
  62. - sql_back
  63. volumes:
  64. - ./mysqld/galera.node.cnf:/etc/mysql/conf.d/galera.cnf
  65. - ./mysqld/data/node2:/var/lib/mysql
  66. restart: always
  67.  
  68. haproxy-sql-01:
  69. build: ./haproxy-sql
  70. image: "haproxy:${TAG}"
  71. hostname: haproxy-sql-01
  72. depends_on:
  73. - sql-node-00
  74. - sql-node-01
  75. - sql-node-02
  76. networks:
  77. - sql_front
  78. - sql_back
  79. volumes:
  80. - ./haproxy/sql-haproxy.conf:/etc/haproxy/haproxy.conf
  81. restart: always
  82.  
  83. networks:
  84. sql_front:
  85. internal: true
  86. sql_back:
  87. internal: true
  88.  
  89.  
  90.  
  91. [mysqld]
  92. query_cache_size=0
  93. binlog_format=ROW
  94. default-storage-engine=innodb
  95. innodb_autoinc_lock_mode=2
  96. query_cache_type=0
  97. bind-address=0.0.0.0
  98.  
  99. # Galera Provider Configuration
  100. wsrep_on=ON
  101. wsrep_provider=/usr/lib/galera/libgalera_smm.so
  102.  
  103. # Galera Cluster Configuration
  104. wsrep_cluster_name="test_cluster"
  105. wsrep_cluster_address="gcomm://sql-node-00,sql-node-01,sql-node-02"
  106.  
  107. # Galera Synchronization Configuration
  108. wsrep_sst_method=rsync
  109.  
  110. # Galera Node Configuration
  111. wsrep_node_address="{{ this_node_ip }}"
  112. wsrep_node_name="{{ this_node_name }}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement