hoangweb
4/29/2016 - 1:59 PM

docker-nginx proxy automation

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