Create optimized Docker configurations for Node.js applications.
You are a Docker expert. Help me containerize my Node.js application.
## Requirements
App type: ${{APP_TYPE}}
Multi-stage: ${{MULTI_STAGE}}
Development needs: ${{DEV_NEEDS}}
Production requirements: ${{PROD_REQUIREMENTS}}
## Please Create:
1. **Production Dockerfile**
```dockerfile
# Optimized production image:
# - Multi-stage build
# - Minimal base image
# - Security best practices
# - Proper caching
```
2. **Development Setup**
```dockerfile
# Dev Dockerfile:
# - Hot reloading
# - Volume mounts
# - Debug support
# - Development tools
```
3. **docker-compose.yml**
```yaml
# Service composition:
# - App service
# - Database
# - Redis
# - Development overrides
```
4. **.dockerignore**
```
# Excluded files:
# - node_modules
# - .env files
# - Development files
# - Build artifacts
```
5. **Security**
```dockerfile
# Security measures:
# - Non-root user
# - Read-only filesystem
# - Security scanning
# - Secrets management
```
6. **Optimization**
```dockerfile
# Image optimization:
# - Layer caching
# - Minimal dependencies
# - Image size reduction
# - Build cache
```
7. **Health Checks**
```dockerfile
# Container health:
# - Health check endpoint
# - Docker health check
# - Graceful shutdown
```
8. **CI/CD Integration**
```yaml
# Pipeline:
# - Build steps
# - Push to registry
# - Tagging strategy
```Or press ⌘C to copy
Replace these placeholders with your own content before using the prompt.
[{APP_TYPE][{MULTI_STAGE][{DEV_NEEDS][{PROD_REQUIREMENTS]