Full Cycle Docker challenge: Nginx as a reverse proxy in front of a Node.js app that writes names into MySQL. Everything starts with a single Compose command on port 8080.
-
Nginx proxies HTTP traffic to Node
-
Node inserts a name into MySQL (
peopletable) -
Response HTML:
<h1>Full Cycle Rocks!</h1>
plus the list of names stored in the database
-
docker compose up -dbrings the full stack up on:8080 -
dockerizewaits for MySQL before Node starts
Browser → Nginx (:8080) → Node.js → MySQL
| Service | Role |
|---|---|
nginx |
Reverse proxy (public port 8080 → 80) |
node |
App that inserts/lists people |
db |
MySQL 5.7 with init scripts |
- Docker & Docker Compose
git clone https://github.com/fellipesg/desafio-docker-node-fullcycle.git
cd desafio-docker-node-fullcycle
docker compose up -d --buildOpen: http://localhost:8080
Stop:
docker compose down├── docker-compose.yml
├── nginx/ # Reverse proxy image & config
├── node/ # Node.js app + entrypoint (dockerize)
└── db/ # MySQL bootstrap SQL
- Docker Compose multi-service orchestration
- Nginx as reverse proxy
- Container dependency ordering (
depends_on+ dockerize) - Simple Node ↔ MySQL integration in containers
Educational project — Full Cycle course challenge.