Design: Microservices Containerization with Docker
Design Dockerfiles for individual microservices including base image selection, layering, environment configuration, and security best practices. Out of scope: orchestration, service discovery, or CI/CD pipeline setup.
Functional Requirements
FR1: Each microservice must be containerized using Docker.
FR2: Containers should be lightweight and start quickly.
FR3: Dockerfiles must support easy updates and debugging.
FR4: Images should be secure and follow best practices.
FR5: Support environment variable configuration for different environments.
Non-Functional Requirements
NFR1: Image size should be minimized to reduce deployment time.
NFR2: Build time should be optimized for CI/CD pipelines.
NFR3: Containers must run consistently across development, testing, and production.
NFR4: Use official base images where possible for security and support.