#!/bin/bash
# This is a convenience script to create mysql docker instances
# The parameters are:
# $1 - docker image name
# $2 - port forwarded (to allow for outside connectivity to docker database)
# $3 - mysql docker image version (same as mysql version)
# $4 - root password
# $5 - server id
mkdir -p /opt/docker/$1/data/ /opt/docker/$1/mysqlconf.d/
docker run --detach \
  --name=$1\
  --log-opt tag="{{.Name}}"  \
  --volume /etc/localtime:/etc/localtime:ro \
  --volume /opt/docker/$1/data/:/var/lib/mysql \
  --volume /opt/docker/$1/mysqlconf.d/:/etc/mysql/conf.d \
  --publish $2:3306 \
  --memory=500M \
  --cpus="2" \
  -e MYSQL_ROOT_PASSWORD="$4" \
  --restart=unless-stopped \
 mysql:$3
 # This creates the my.cnf configuration under the mysqlconf master folder
 echo "
 [mysqld]
  server_id=$5
  default_authentication_plugin=mysql_native_password
  ">/opt/docker/$1/mysqlconf.d/my.cnf