Introduction
Grafana is an open-source analytics and visualization platform used to monitor and analyze data from various sources. It provides a flexible and customizable interface for creating and displaying real-time dashboards, graphs, and charts. Grafana supports a wide range of data sources, including databases, time-series databases like Prometheus and InfluxDB, cloud monitoring services, and more.
Docker Compose is a tool for defining and running multi-container Docker applications. It allows you to define an entire application stack, including services, networks, and volumes, in a single file called docker-compose.yml. With a single command, you can then spin up your entire application stack, simplifying the process of managing and deploying multi-container Docker applications.
Prerequisites
- Up and running ubuntu 22.04 LTS machine.
- Basic knowledge in linux commands.
- Internet connectivity.
- Docker and docker compose should installed on your machine.
To install Docker and docker compose on ubuntu 22.04 LTS, We can use the given link.
In this post, We will deploy Grafana container using Docker Compose on Ubuntu 22.04 LTS Debian machine.
Step 1: Creating docker-compose.yml
To deploy Grafana using Docker Compose, you can create a docker-compose.yml
file with the necessary configuration. Here’s a basic example to help you get started:
To create a separate directory for Grafana’s docker-compose.yml
file.
sudo mkdir grafana && cd grafana
To create a docker-compose.yml
sudo nano docker-compose.yml
Copy and paste the followings configuration.
version: '3'
services:
grafana:
image: grafana/grafana
container_name: grafana
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
grafana_data:
This Docker Compose file:
- Uses the official Grafana image.
- Maps port 3000 to the host machine.
- Mounts a volume named grafana_data to persist Grafana data.
- Sets the Grafana admin password to “admin” using the GF_SECURITY_ADMIN_PASSWORD environment variable.
Save the docker-compose.yml
file.
Step 2: Deploy Grafana Container
In the directory where your docker-compose.yml
file is located, run the following command to start the Grafana container:
sudo docker-compose up -d
The -d
flag runs the containers in the background, It will take few sec or mins to pull the image and deploy the Grafana.
Step 3: Validate the Container
To check the running containers launched by Docker Compose, you can use the following command:
sudo docker-compose ps
This command provides a summary of the status of each service defined in your docker-compose.yml
file. It shows information such as the service name, container ID, status, ports, and names.
Step 4: Logging
Some time we need to also check the real time logs, So we can use the given commands.
sudo docker-compose logs -f grafana
Step 5: Accessing Grafana GUI
Access Grafana by opening your web browser and navigating to http://localhost:3000 or http://IPaddress:3000.
Grafana default Credentials.
Username | admin |
Password | admin |
Log in with the username “admin” and the password “admin” (as specified in the docker-compose.yml
file).
Once logged in, you can configure Grafana to connect to data sources and create dashboards.
Step 6: Destroying Grafana Container
We need to execute the given command to destroy the Grafana’s docker container under docker compose.
sudo docker compose down
Conclusion
We have successfully deployed Grafana analytics tool docker’s container using docker compose on ubuntu 22.04 LTS Debian machine, If you still have questions, please post them in the comments section below.