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:

Container Internal Port Host Port Purpose
application 8080 8080 Main application port
application-db 5432 5432 Database port
jaeger 16686 16686 Jaeger UI
jaeger 14268 14268 Port used to send traces from our Quarkus applications to Jaeger
prometheus 9090 9090 Prometheus service port (includes UI)
grafana 3000 3000 Grafana 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 docker folder and get familiar with the docker environment specified in docker-compose.yaml