Skip to content

Instantly share code, notes, and snippets.

@sagar290
Created April 20, 2020 17:07
Show Gist options
  • Select an option

  • Save sagar290/3b6bf848053dbf9fbc3cb929a5dfa3d7 to your computer and use it in GitHub Desktop.

Select an option

Save sagar290/3b6bf848053dbf9fbc3cb929a5dfa3d7 to your computer and use it in GitHub Desktop.
MYSQL, phpmyadmin, backup
version: '2'
services:
mysql_db_master:
image: mysql:5.7
# command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: lms
REPLICATION_USER: ${REPLICATION_USER}
REPLICATION_PASSWORD: ${REPLICATION_PASSWORD}
MYSQL_ROOT_HOST: 0.0.0.0
ports:
- 3306:3306
volumes:
- ./mysql_db_data_container:/var/lib/mysql
- ./mysql_slave:/var/slavedb
networks:
network:
ipv4_address: 172.20.0.2
mysql_db_slave:
image: mysql:5.7
# command: --default-authentication-plugin: mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_SLAVE_ONE_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_SLAVE_ONE_USER}
MYSQL_PASSWORD: ${MYSQL_SLAVE_ONE_PASSWORD}
MYSQL_DATABASE: lms
REPLICATION_USER: ${REPLICATION_SLAVE_ONE_USER}
REPLICATION_PASSWORD: ${REPLICATION_SLAVE_ONE_PASSWORD}
MYSQL_ROOT_HOST: 0.0.0.0
ports:
- 3307:3306
volumes:
- ./mysql_db_data_slave:/var/lib/mysql
- ./mysql_slave:/var/masterdb
links:
- mysql_db_master
networks:
network:
ipv4_address: 172.20.0.3
phpmyadmin_container:
image: phpmyadmin/phpmyadmin
# command: --default-authentication-plugin=mysql_native_password
environment:
PMA_HOST: ${DOCKER_HOST_IP}
MYSQL_USER: root
MYSQL_PASSWORD: admin
MYSQL_ROOT_PASSWORD: admin
ports:
- 8088:80
volumes:
- ./phpmyadmin:/etc/phpmyadmin
networks:
network:
ipv4_address: 172.20.0.4
mysql-cron-backup:
image: fradelg/mysql-cron-backup
depends_on:
- mysql_db_master
volumes:
- ${VOLUME_PATH}/backup:/backup
environment:
- MYSQL_HOST=${DOCKER_HOST_IP}
- MYSQL_USER=root
- MYSQL_PASS=${MYSQl_ROOT_PASSWORD}
- MAX_BACKUPS=15
- INIT_BACKUP=1
# Every day at 03:00
- CRON_TIME=0 3 * * *
restart: unless-stopped
networks:
network: #will be prefixed with 'parent_dir_name_' so for me, it will be 'mysql_network'
ipam:
config:
- subnet: 172.20.0.0/16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment