nerdctl icon indicating copy to clipboard operation
nerdctl copied to clipboard

Unable to start node_exporter from official docker compose (`mountpoint "/" doesn't have optional field neither of [shared: master:]`)

Open MeikelLP opened this issue 5 months ago • 2 comments

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

  1. Setup compose.yml as seen in https://github.com/prometheus/node_exporter?tab=readme-ov-file#docker
  2. 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

MeikelLP avatar Jul 24 '25 16:07 MeikelLP

@ktock might know

apostasie avatar Jul 25 '25 23:07 apostasie

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

tushar5526 avatar Aug 15 '25 07:08 tushar5526