#!/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