Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FROM alpine:latest
- RUN apk update && apk upgrade
- RUN apk add bash rsync mariadb mariadb-client
- COPY ./mysqld/galera.master.cnf /etc/mysql/conf.d/galera.cnf
- COPY ./docker-entrypoint.sh /
- RUN chmod +x /docker-entrypoint.sh
- RUN sed -i "s/{{ this_node_ip }}/$(hostname -I)/g" /etc/mysql/conf.d/galera.cnf
- RUN sed -i "s/{{ this_node_name }}/$(hostname)/g" /etc/mysql/conf.d/galera.cnf
- ENTRYPOINT ["/docker-entrypoint.sh"]
- #ENTRYPOINT ["mysqld"]
- #CMD ["param1"]
- sql-variables.env:
- DB_DATA_PATH="/var/lib/mysql"
- DB_ROOT_PASS="somerootpassword"
- DB_USER="mariadb_user"
- DB_PASS="mariadb_user_password"
- MAX_ALLOWED_PACKET="200M"
- TAG=latest
- version: '3'
- services:
- sql-node-00:
- build: ./mysqld
- image: "mysqld:${TAG}"
- hostname: sql-node-00
- env_file:
- - ./sql-variables.env
- networks:
- - sql_back
- volumes:
- - ./mysqld/galera.master.cnf:/etc/mysql/conf.d/galera.cnf
- - ./mysqld/data/node0:/var/lib/mysql
- restart: always
- sql-node-01:
- image: "mysqld:${TAG}"
- hostname: sql-node-01
- depends_on:
- - sql-node-00
- env_file:
- - ./sql-variables.env
- networks:
- - sql_back
- volumes:
- - ./mysqld/galera.node.cnf:/etc/mysql/conf.d/galera.cnf
- - ./mysqld/data/node1:/var/lib/mysql
- restart: always
- sql-node-02:
- image: "mysqld:${TAG}"
- depends_on:
- - sql-node-00
- - sql-node-01
- hostname: sql-node-02
- env_file:
- - ./sql-variables.env
- networks:
- - sql_back
- volumes:
- - ./mysqld/galera.node.cnf:/etc/mysql/conf.d/galera.cnf
- - ./mysqld/data/node2:/var/lib/mysql
- restart: always
- haproxy-sql-01:
- build: ./haproxy-sql
- image: "haproxy:${TAG}"
- hostname: haproxy-sql-01
- depends_on:
- - sql-node-00
- - sql-node-01
- - sql-node-02
- networks:
- - sql_front
- - sql_back
- volumes:
- - ./haproxy/sql-haproxy.conf:/etc/haproxy/haproxy.conf
- restart: always
- networks:
- sql_front:
- internal: true
- sql_back:
- internal: true
- [mysqld]
- query_cache_size=0
- binlog_format=ROW
- default-storage-engine=innodb
- innodb_autoinc_lock_mode=2
- query_cache_type=0
- bind-address=0.0.0.0
- # Galera Provider Configuration
- wsrep_on=ON
- wsrep_provider=/usr/lib/galera/libgalera_smm.so
- # Galera Cluster Configuration
- wsrep_cluster_name="test_cluster"
- wsrep_cluster_address="gcomm://sql-node-00,sql-node-01,sql-node-02"
- # Galera Synchronization Configuration
- wsrep_sst_method=rsync
- # Galera Node Configuration
- wsrep_node_address="{{ this_node_ip }}"
- wsrep_node_name="{{ this_node_name }}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement