Isolate Services with Compose Networks

medium 20 XP ~7 minHands-on lab

Labs have no container engine, so nothing is built or started: your files are checked by reading them, the way a reviewer or a CI linter would. docker-compose config (to validate Compose files) and hadolint (a Dockerfile linter) are installed.

All services in /home/student/projects/invoicer/compose.yaml share the default network, so the internet-facing proxy can talk to db directly.

Task

  • Define two networks: frontend and backend. backend must be internal (no route to the outside world).
  • proxy is only on frontend; db is only on backend; api is on both.
  • proxy keeps publishing port 443. Nothing else publishes ports.
  • docker-compose config must accept the file.

About this machine

Ubuntu 24.04 with no internet access. You are student with passwordless sudo. The grader checks the final state of the machine, not the commands you typed. Values like names and ports are generated for you.

TerminalNot started

Your machine is ready to start

Create a free account to open a machine and get graded.