1
0
mirror of https://github.com/prometheus/docs.git synced 2026-02-05 06:45:01 +01:00

Merge pull request #2802 from devarsh10/enh/add-inline-docker-config

update cadvisor doc to support inlini config
This commit is contained in:
Jan Fajerski
2026-01-13 15:34:40 +01:00
committed by GitHub

View File

@@ -26,6 +26,7 @@ Now we'll need to create a Docker Compose [configuration](https://docs.docker.co
In the same folder where you created the [`prometheus.yml`](#prometheus-configuration) file, create a `docker-compose.yml` file and populate it with this Docker Compose configuration:
### Using Bind Mounts
```yaml
version: '3.2'
services:
@@ -92,6 +93,71 @@ cadvisor /usr/bin/cadvisor -logtostderr Up 8080/tcp
prometheus /bin/prometheus --config.f ... Up 0.0.0.0:9090->9090/tcp
redis docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
```
### Alternative: Using Inline Docker Configs (Remote Deployments)
If you're managing a remote Docker host and prefer to keep all configuration within the docker-compose.yml file (avoiding the need to manage separate config files on the host), you can use Docker's configs feature:
```yaml
version: '3.8'
configs:
prometheus_config:
content: |
scrape_configs:
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
ports:
- 9090:9090
command:
- --config.file=/etc/prometheus/prometheus.yml
configs:
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
uid: "65534" # Required: numeric UID for 'nobody' user
gid: "65534" # Required: numeric GID for 'nobody' group
mode: 0400 # Required: read-only permissions
depends_on:
- cadvisor
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
ports:
- 8080:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
depends_on:
- redis
redis:
image: redis:latest
container_name: redis
ports:
- 6379:6379
```
#### Important Notes
⚠️ **Required Fields**: When using Docker `configs`, you **must** explicitly specify `uid`, `gid`, and `mode` as numeric values:
- `uid: "65534"` - The numeric user ID (65534 = `nobody` user in the Prometheus image)
- `gid: "65534"` - The numeric group ID (65534 = `nobody` group)
- `mode: 0400` - File permissions (read-only for owner)
Omitting these fields or using string values like `"nobody"` will cause the following error:
```
strconv.Atoi: parsing "nobody": invalid syntax
```
## Exploring the cAdvisor web UI