Bird
Raised Fist0
Dockerdevops~10 mins

Grafana dashboards for containers in Docker - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the command to start a Grafana container with the default port exposed.

Docker
docker run -d -p [1]:3000 grafana/grafana
Drag options to blanks, or click blank then click option'
A9090
B8080
C5000
D3000
Attempts:
3 left
💡 Hint
Common Mistakes
Using a port other than 3000 without mapping correctly.
Forgetting to expose the port with -p.
2fill in blank
medium

Complete the command to start Prometheus container for monitoring Docker containers.

Docker
docker run -d -p 9090:[1] prom/prometheus
Drag options to blanks, or click blank then click option'
A8080
B3000
C9090
D9100
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong port number for Prometheus.
Confusing Prometheus port with Grafana port.
3fill in blank
hard

Fix the error in the command to run Grafana with a volume for persistent data.

Docker
docker run -d -p 3000:3000 -v [1]:/var/lib/grafana grafana/grafana
Drag options to blanks, or click blank then click option'
A/home/user/grafana_data
B/var/lib/grafana
C/grafana/data
D/etc/grafana
Attempts:
3 left
💡 Hint
Common Mistakes
Using container paths as host paths.
Using non-existent host directories.
4fill in blank
hard

Fill both blanks to create a Docker network and run Grafana attached to it.

Docker
docker network [1] my-net && docker run -d --network [2] -p 3000:3000 grafana/grafana
Drag options to blanks, or click blank then click option'
Acreate
Bconnect
Cmy-net
Dbridge
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'connect' instead of 'create' to make the network.
Mismatching network names.
5fill in blank
hard

Fill all three blanks to run Prometheus with a config file and attach it to a network.

Docker
docker run -d --name prometheus --network [1] -p 9090:9090 -v [2]:/etc/prometheus/prometheus.yml prom/prometheus --config.file=[3]
Drag options to blanks, or click blank then click option'
Amonitor-net
B/home/user/prometheus.yml
C/etc/prometheus/prometheus.yml
D/var/lib/prometheus
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong network names.
Mounting directories instead of the config file.
Incorrect config file path in the command.

Practice

(1/5)
1. What is the primary purpose of using Grafana dashboards for Docker containers?
easy
A. To write Dockerfiles automatically
B. To visually monitor container health and performance metrics
C. To build Docker images faster
D. To deploy containers without configuration

Solution

  1. Step 1: Understand Grafana's role

    Grafana is a tool designed to visualize data, especially metrics and logs.
  2. Step 2: Connect Grafana to container metrics

    When connected to data sources like Prometheus, Grafana shows container health and performance visually.
  3. Final Answer:

    To visually monitor container health and performance metrics -> Option B
  4. Quick Check:

    Grafana = Visual monitoring [OK]
Hint: Grafana = Visual dashboards for metrics [OK]
Common Mistakes:
  • Confusing Grafana with image building tools
  • Thinking Grafana deploys containers
  • Assuming Grafana writes Dockerfiles
2. Which Docker command correctly runs Grafana exposing it on port 3000?
easy
A. docker run -d -p 80:3000 grafana/grafana
B. docker run -d -p 8080:3000 grafana/grafana
C. docker run -d -p 3000:8080 grafana/grafana
D. docker run -d -p 3000:3000 grafana/grafana

Solution

  1. Step 1: Identify Grafana default port

    Grafana listens on port 3000 inside the container.
  2. Step 2: Map host port 3000 to container port 3000

    The correct syntax is -p hostPort:containerPort, so -p 3000:3000 exposes Grafana on host port 3000.
  3. Final Answer:

    docker run -d -p 3000:3000 grafana/grafana -> Option D
  4. Quick Check:

    Port mapping = host:container [OK]
Hint: Map host port 3000 to container port 3000 [OK]
Common Mistakes:
  • Swapping host and container ports
  • Using wrong ports like 8080 or 80
  • Not running container in detached mode
3. Given this Docker command, what will happen when you access http://localhost:3000?
docker run -d -p 3000:3000 grafana/grafana
medium
A. You will see the Docker container logs
B. You will get a 404 Not Found error
C. You will see the Grafana login page
D. The browser will fail to connect

Solution

  1. Step 1: Understand port mapping

    Port 3000 on localhost is forwarded to Grafana's port 3000 inside the container.
  2. Step 2: Accessing localhost:3000 loads Grafana UI

    Grafana serves its web interface on port 3000, so the login page appears.
  3. Final Answer:

    You will see the Grafana login page -> Option C
  4. Quick Check:

    Port 3000 mapped = Grafana UI loads [OK]
Hint: Port 3000 access shows Grafana login [OK]
Common Mistakes:
  • Expecting error pages instead of UI
  • Confusing logs with web interface
  • Assuming no connection due to missing config
4. You ran Grafana with docker run -d -p 3000:3000 grafana/grafana but cannot access the dashboard at http://localhost:3000. What is a likely cause?
medium
A. Grafana container is not running or crashed
B. You used the wrong image name
C. Port 3000 is not exposed inside the container
D. Docker daemon is not installed

Solution

  1. Step 1: Check container status

    If the container stopped or crashed, the port won't be accessible.
  2. Step 2: Verify container is running

    Use docker ps to confirm Grafana container is active.
  3. Final Answer:

    Grafana container is not running or crashed -> Option A
  4. Quick Check:

    Container running = Dashboard accessible [OK]
Hint: Check container status with docker ps [OK]
Common Mistakes:
  • Assuming wrong image name without checking
  • Thinking port exposure inside container is missing
  • Ignoring Docker daemon status
5. You want to monitor multiple Docker containers' CPU and memory usage in Grafana. Which setup step is essential before creating dashboards?
hard
A. Connect Grafana to a metrics data source like Prometheus collecting container stats
B. Install Grafana plugins inside each container
C. Run Grafana with extra CPU and memory limits
D. Expose all container ports to the host

Solution

  1. Step 1: Understand Grafana data source role

    Grafana itself does not collect metrics; it visualizes data from sources like Prometheus.
  2. Step 2: Set up Prometheus to scrape container metrics

    Prometheus collects CPU and memory stats from Docker containers and provides data to Grafana.
  3. Step 3: Connect Grafana to Prometheus

    Configure Grafana to use Prometheus as a data source to build dashboards.
  4. Final Answer:

    Connect Grafana to a metrics data source like Prometheus collecting container stats -> Option A
  5. Quick Check:

    Data source connection = Dashboard data [OK]
Hint: Grafana needs data source like Prometheus first [OK]
Common Mistakes:
  • Thinking Grafana collects metrics alone
  • Installing plugins inside containers unnecessarily
  • Exposing all ports without reason
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard