Skip to content

Docker provider

The Docker provider mounts your Docker daemon into /docker, exposing containers, system metadata, and Compose projects as regular files. No SDK, no API client: ls lists running containers, cat reads state.

All paths are under /omnifs/docker/ once the provider is loaded. The examples below use /omnifs as the mount root; adjust if you configured a different mount point.

One optional config key:

KeyTypeRequiredDefault
endpointstringnounix:///var/run/docker.sock

Set endpoint only when connecting to a remote daemon or a non-standard socket path. The default works for Docker Desktop and most Linux installs.

Two files describe the daemon itself:

/docker/system/info.json
/docker/system/version.json
Terminal window
cat /omnifs/docker/system/version.json

Both files are read-only snapshots returned on demand. They reflect the daemon’s current state at the time of the read.

Terminal window
ls /omnifs/docker/containers/_running
ls /omnifs/docker/containers/_stopped

Example output:

nginx postgres redis

Each entry is a container name. The _running and _stopped directories are virtual; omnifs populates them live from the daemon.

Three files are available under containers/by-name/{name}/:

FileContents
stateCurrent lifecycle state (running, exited, paused, etc.)
inspect.jsonFull docker inspect output as JSON
summary.txtHuman-readable summary: image, status, ports, mounts
Terminal window
cat /omnifs/docker/containers/by-name/postgres/state
running
Terminal window
cat /omnifs/docker/containers/by-name/postgres/inspect.json
Terminal window
cat /omnifs/docker/containers/by-name/postgres/summary.txt

The same three files are available under containers/by-id/{id}/:

Terminal window
cat /omnifs/docker/containers/by-id/a3f9c12b8e01/state
cat /omnifs/docker/containers/by-id/a3f9c12b8e01/inspect.json

You can use a prefix of the container ID as long as it is unambiguous.

Containers belonging to a Compose project are reachable under a structured path:

/docker/compose/{project}/services/{service}/containers/{name}
Terminal window
ls /omnifs/docker/compose/myapp/services/web/containers/

This is a directory listing: each entry is a container name running that service. From there, use by-name or by-id paths to read state and inspect data.

PathOpWhat you get
/docker/system/info.jsoncatDaemon info
/docker/system/version.jsoncatAPI and engine versions
/docker/containers/_runninglsNames of running containers
/docker/containers/_stoppedlsNames of stopped containers
/docker/containers/by-name/{name}/statecatLifecycle state string
/docker/containers/by-name/{name}/inspect.jsoncatFull inspect payload
/docker/containers/by-name/{name}/summary.txtcatHuman-readable summary
/docker/containers/by-id/{id}/inspect.jsoncatFull inspect payload by ID
/docker/compose/{project}/services/{service}/containers/{name}lsContainers for a Compose service

Find which containers are currently stopped:

Terminal window
ls /omnifs/docker/containers/_stopped

Check the state of every running container in one pass:

Terminal window
for c in /omnifs/docker/containers/_running/*; do
printf "%s: %s\n" "$(basename "$c")" "$(cat /omnifs/docker/containers/by-name/"$(basename "$c")"/state)"
done

Grep an inspect payload without docker inspect:

Terminal window
grep -i "IPAddress" /omnifs/docker/containers/by-name/nginx/inspect.json

Pull exposed ports for all running containers:

Terminal window
grep -h "Ports" /omnifs/docker/containers/by-name/*/summary.txt