.. | ||
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
/html
directory. - MySQL: Configured with
MYSQL_ROOT_PASSWORD
and 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.