Your NextStep application has been successfully dockerized! This setup provides:
- Backend: .NET 9.0 API (Port 7010)
- Frontend: React/Vite with Nginx (Port 8080)
- Database: SQLite (Persisted via Docker volume)
- Security: Non-root containers, proper CORS, health checks
- Cloud-Ready: Works with AWS ECS, Azure Container Apps, Kubernetes
.\deploy.ps1docker-compose up -ddocker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d- Frontend: http://localhost:8080
- Backend API: http://localhost:7010
- API Documentation: http://localhost:7010/swagger
backend/Dockerfile- Backend container configurationfrontend/Dockerfile- Frontend container configurationfrontend/nginx.conf- Nginx configuration for frontenddocker-compose.yml- Main orchestration filedocker-compose.prod.yml- Production overrides
backend/appsettings.Production.json- Production backend config.env.example- Environment variables templatebackend/.dockerignore&frontend/.dockerignore- Build optimization
deploy.ps1- PowerShell deployment scriptdeploy.sh- Bash deployment scriptDOCKER-DEPLOYMENT.md- Comprehensive deployment guide
- Services communicate using internal network (
nextstep-network) - Frontend connects to backend via
http://backend:7010 - No localhost dependencies between containers
- Non-root user execution
- Proper CORS configuration
- Security headers in Nginx
- Resource limits in production
- Works seamlessly with AWS ECS, Azure Container Apps, Kubernetes
- Environment variable based configuration
- Health checks for orchestration platforms
- Volume persistence for database
# Start application
docker-compose up -d
# View logs
docker-compose logs -f
# Stop application
docker-compose down
# Rebuild after code changes
docker-compose build
docker-compose up -d
# Clean restart (removes database)
docker-compose down -v
docker-compose up -dThe application is cloud-ready! See DOCKER-DEPLOYMENT.md for detailed instructions on deploying to:
- AWS ECS
- Azure Container Apps
- Kubernetes
- Any container orchestration platform
- Check
DOCKER-DEPLOYMENT.mdfor detailed documentation - View logs:
docker-compose logs - Test connectivity:
docker-compose exec frontend wget -qO- http://backend:7010/health
Your application is now fully containerized and ready for production deployment! π