| .. | ||
| app | ||
| nginx | ||
| deployment.yaml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| namespace.yaml | ||
| prepare-app.sh | ||
| README.md | ||
| remove-app.sh | ||
| service.yaml | ||
| start-app.sh | ||
| statefulset.yaml | ||
| stop-app.sh | ||
Docker Web Application with MySQL and Nginx
Requirements
- Docker
- Docker Compose
Description
This web application consists of two services:
- A web service using Nginx to serve static HTML files.
- A database service using MySQL, which persists its data in a Docker volume.
Docker Volumes and Networks
- Volume:
db_data- used to persist MySQL data. - Network:
app-network- internal network for the services to communicate.
Configuration
- Nginx: Serves static HTML files from the
/htmldirectory. - MySQL: Configured with
MYSQL_ROOT_PASSWORDand a default databasemydb.
How to Use
Preparing the app
Run the following command to prepare the application:
./prepare-app.sh
Starting the app
To start the app, run:
./start-app.sh
The app will be available at http://localhost:5000.
Stopping the app
To stop the app, run:
./stop-app.sh
Removing the app
To remove all resources related to the app, run:
./remove-app.sh
Example usage
kubectl get pods -n webapp
kubectl get svc -n webapp
Stop the app
./stop-app.sh Stopping app...
Remove the app
./remove-app.sh Removed app.