Challenge 3: Design an Optional Debug Service — Possible Solution ==================================================================== services: adminer: image: adminer:latest ports: - "8080:8080" profiles: ["debug"] Normal startup (adminer never starts): docker compose up Deliberately starting it when needed: docker compose --profile debug up WHY THIS WORKS AS AN ANSWER ------------------------------ profiles: ["debug"] marks adminer as belonging ONLY to the "debug" profile — Compose's default behavior is to skip any service tagged with a profile unless that specific profile is explicitly activated. This means a plain docker compose up (with no --profile flag) starts every OTHER service normally defined without a profiles key, while adminer is simply excluded from that run entirely — exactly the "never starts during a normal up" requirement. Running docker compose --profile debug up explicitly opts into the "debug" profile, which includes both adminer (tagged with that profile) and every other service that has no profiles key at all (services without a profiles key always start regardless of which profiles are active) — giving a deliberate, opt-in way to bring up the admin UI only when it's actually needed for debugging, without it cluttering every normal development or CI run.