A Compose file defines three main sections:
Services: Specifies the containers to run and their runtime configuration (image, build context, ports, environment variables, volumes, depends_on, healthcheck, etc.).
Volumes: Declares named persistent storage volumes that can be attached to services.
Networks: Defines virtual networks for container communication, allowing services to resolve each other by name for easy internal communication