Create Blogging Site using Docker manual method.
- Set-up:
I use AWS EC2 Instance for this work. The EC2 Amazon machine is Amazon-linux.
- What is Three-tier Architecture:
- For Blogging Site I use "WordPress".
- For DataBase to the Wordpress I use "MySQL".
- For Network I use own customised "Docker network".
Launch EC2 instance and install docker inside and start docker Service:
Docker install command:
yum install docker -y
Start Docker Service command:
systemctl enable docker --now
Check Docker Status:
systemctl status docker
create own net name as "psnet"
Subnet range 10.0.0.1/16 in CIDR format.
Command for check docker network list:
docker network ls
Docker network create command:
docker network create --driver bridge --subnet 10.0.0.1/16 psnet
Create database with own driver (database- container name)...also provide required enviromental variable

Launch MySQL container using custom networks & adding environmental variables & Attach Host folder(Mount volume) Default folder of MySQL storage is /var/lib/mysql:
docker run -dit --name database --network psnet -v /mydata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pratik55 -e MYSQL_DATABASE=mydatabase -e MYSQL_USER=jack -e MYSQL_PASSWORD=jack11 mysql
Inspect command for check:(here we see our Subnet range(10.0.0.1/16) to our given database container)
docker inspect database
Here, check provided Subnet range.
Launch wordpress and uase PATTING to make outside world connection,As port number of container is 80.
Command for check list port numbers on system:
netstat -tnlp
Lanuch Wordpress container using custom network:
docker run -dit --name mywordpress --network psnet -p 1234:80 wordpress
Wordpress store all iformation of login with database info place in /var/www/html there is file that wp-config.php (here we can also able to attach Host folder that mount volume)
docker run -dit --name mywordpress -v /wordstorage:/var/www/html --network psnet -p 1234:80 wordpress
Can also check MYWORDPRESS has our subnet range by command on above screenshots.(step no.3)
docker inspect mywordpress
EC2 Intance has Firewall which cannot be connected by outside world, so we can modify Inbound rule(All traffic allowed)
Substeps:
- EC2 Dashboard
- Celect securtity option
- Go inside Security groups
- Select "edit inbound rule"
- Delete defult rule and new rule
- custom TCP ->> "ALL TRAFIC", ANYWHERE IPv4
- Save rule
Instance public + our port number that provide in wordpress contanier.
To access wordpresss from browser,need EC2 instance public IP Address+Port no. given to wordpresss container.
To get wordpress interface on google ,provide details that provided in the form of enviromental variable during "database" caintainer launch
http://65.2.146.158:1234 <<------- see interface(This site does not work as instance is terminated now)
Create username and password to create blog on wordpress:
On Wordpress Dashboard->create Post->Add Content->Publish->Copy link and paste in the browser.
- WordPress-Blogging Site
- MySQL-Database
- PSNet-Own Bridge driver













