Deploying Prometheus with Docker
Prometheus can be easily deployed using Docker - official images are provided on Docker Hub.
Requirements
Make sure you have Docker running on the system.
Create a configuration file
Create a file called prometheus.yml with the following contents:
scrape_configs:
- job_name: my-app-name
metrics_path: /metrics
static_configs:
# Replace the port with the port your /metrics endpoint is running on
- targets: ["localhost:3000"]
scrape_interval: 15sSee the Prometheus configuration reference (opens in a new tab) for full details.
Run Prometheus
You can now run Prometheus with the configuration file you created:
docker run \
-p 9090:9090 \
-v prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus(Production) Create persistent volumes
If you're deploying Prometheus to production using Docker, it is a good practice to create a named persistent volume where Prometheus would store the data. This will ensure your metrics data persists even in case the container shuts down.
To create the volume run the docker volume create <VOLUME_NAME> command:
docker volume create prometheus-dataAnd when starting up the Prometheus container make sure to tell Prometheus to use our prometheus-data volume:
docker run \
-p 9090:9090 \
-v prometheus-data:/prometheus \
-v prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheusVerify successful startup
Your Prometheus should now be accessible on <your_network_host>:9090!