docker-nginx proxy automation
######## http://donalfarrell.com/2015/08/11/Docker-Nginx-Multi-Wordpress.html
# nginx reverse proxy container
docker run -d \
--name nginx-reverse-proxy \
-p 80:80 -p 443:443 \
-v /root/certs:/etc/nginx/certs \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
-v /root/nginx-configs:/etc/nginx/conf.d:ro \
--restart=always \
jwilder/nginx-proxy
# mysql container
docker run -d \
--name mysql-db \
-e MYSQL_ROOT_PASSWORD=<YOUR-PASSWORD> \
-e MYSQL_USER=cart \
-e MYSQL_PASSWORD=vinacart837939 \
-e MYSQL_DATABASE=cart \
#-e MYSQL_ALLOW_EMPTY_PASSWORD=yes \
-v /root/mysql/data=/var/lib/mysql \
-v /root/mysql/conf.d=/etc/mysql/conf.d \
-v /root/mysql/dump_files=/docker-entrypoint-initdb.d \ #for sql dumpping
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--restart=always \
mysql:latest
# PHPMyAdmin: useful tool to look at the contents of the MySQL instance
docker run -d \
--name phpmyadmin \
-p 1000:80 \
-e MYSQL_USERNAME=<USERNAME> \
-e MYSQL_PASSWORD=<YOUR-PASSWORD> \
--link mysql-db:mysql \
corbinu/docker-phpmyadmin
# wp 1 container
docker run -d \
--name wp-site1 \
-e WORDPRESS_DB_NAME=wpsite1db \
-e VIRTUAL_HOST=<SSL-CERT-NAME> \ # name of SSL cert you copied to `/root/certs/` folder. e.g: domain1.com (without .crt extension)
--link mysql-db:mysql \
--restart=always \
wordpress
# wp 2 container
docker run -d \
--name wp-site2 \
-e WORDPRESS_DB_NAME=wpsite2db \
-e VIRTUAL_HOST=<SSL-CERT-NAME> \ # name of SSL cert you copied to `/root/certs/` folder
--link mysql-db:mysql \
--restart=always \
wordpress