2.2 Docker Environment

Getting started with the lab and environment.

Docker Compose

Our setup for the application is quite simple. It consists of the Quarkus service application and its database application-db. Further we have three more containers setup. We use jaeger as our tracing, prometheus to scrape the metrics and grafana to visualize them in dashboards.

All configuration for the docker environment is located in the folder docker. The folder docker/config is used to configure prometheus and grafana.

Host mapped container ports

Starting up the docker-compose will create a bridge network. We mapped most container ports to the docker host. This provides easy access for debugging like attaching the database to your IDE.

However, the most important ports of the containers are:

ContainerInternal PortHost PortPurpose
application80808080Main application port
application-db54325432Database port
jaeger1668616686Jaeger UI
jaeger1426814268Port used to send traces from our Quarkus applications to Jaeger
prometheus90909090Prometheus service port (includes UI)
grafana30003000Grafana UI

Have a look at Jaeger Port Details if you need more information about the available Jaeger ports.

Task 2.2.1 - Inspecting the docker environment

Have a look at the /code/monolith/docker folder and get familiar with the docker environment specified in docker-compose.yaml

Last modified February 12, 2024: fix debezium lab version (9e6013e)