Unable to start node_exporter from official docker compose (`mountpoint "/" doesn't have optional field neither of [shared: master:]`)
Description
I'm using nerdctl on my new VM and wanted to try setting up the node_exporter from my previous VM, which was done before by using Docker.
However the official setup does not work. Sadly I don't understand why. Can you explain or give a workaround?
Steps to reproduce the issue
- Setup
compose.ymlas seen in https://github.com/prometheus/node_exporter?tab=readme-ov-file#docker -
docker compose up
Describe the results you received and expected
Expected: OK Received:
FATA[0000] failed to parse volume options ("bind", "/", "rslave,ro"): mountpoint "/" doesn't have optional field neither of [shared: master:]
FATA[0003] error while creating container node_exporter-node_exporter-1: error while creating container node_exporter-node_exporter-1: exit status 1
What version of nerdctl are you using?
2.1.3
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
Client: Namespace: default Debug Mode: false
Server: Server Version: v2.1.3 Storage Driver: overlayfs Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 2 Plugins: Log: fluentd journald json-file none syslog Storage: native overlayfs Security Options: seccomp Profile: builtin cgroupns Kernel Version: 6.12.39-0-virt Operating System: Alpine Linux v3.22 OSType: linux Architecture: x86_64 CPUs: 4 Total Memory: 3.835GiB Name: alpine-template ID: 86a53bce-0f6b-4b2f-a63b-3cde5e561143
WARNING: No swap limit support WARNING: IPv4 forwarding is disabled
@ktock might know
I tried reproducing using the latest commit from main and ran into a different error.
tushar-gupta:/tmp/node-exporter$ nerdctl --version
nerdctl version 2.1.3-46-g781eeff1
tushar-gupta:/tmp/node-exporter$ nerdctl compose up
INFO[0000] Ensuring image quay.io/prometheus/node-exporter:latest
INFO[0000] Re-creating container node_exporter
INFO[0000] Running [/usr/local/bin/nerdctl run --cidfile=/tmp/compose-451972876/cid -l=com.docker.compose.project=node-exporter -l=com.docker.compose.service=node_exporter -d --name=node_exporter --pull=never --net=host --hostname=node_exporter --pid=host --restart=unless-stopped -v=/:/host:rslave,ro quay.io/prometheus/node-exporter:latest --path.rootfs=/host]
INFO[0000] Attaching to logs
node_exporter |time=2025-08-15T07:32:36.368Z level=INFO source=node_exporter.go:216 msg="Starting node_exporter" version="(version=1.9.1, branch=HEAD, revision=f2ec547b49af53815038a50265aa2adcd1275959)"
node_exporter |time=2025-08-15T07:32:36.368Z level=INFO source=node_exporter.go:217 msg="Build context" build_context="(go=go1.23.7, platform=linux/amd64, user=root@7023beaa563a, date=20250401-15:19:01, tags=unknown)"
node_exporter |panic: Couldn't create metrics handler: couldn't create collector: failed to open sysfs: could not read "/sys": stat /sys: no such file or directory
node_exporter |
node_exporter |goroutine 1 [running]:
node_exporter |main.newHandler(0x1, 0x28, 0xc00019ce90)
node_exporter | /app/node_exporter.go:70 +0x279
node_exporter |main.main()
node_exporter | /app/node_exporter.go:224 +0xfd7
INFO[0000] Container "node_exporter" exited
INFO[0000] All the containers have exited
INFO[0000] Stopping containers (forcibly)
INFO[0000] Stopping container node_exporter