Skip to content

Detect container ID when /var/lib/docker is a separate mount#747

Open
JamBalaya56562 wants to merge 1 commit into
nginx-proxy:mainfrom
JamBalaya56562:fix/452-container-id-mountinfo
Open

Detect container ID when /var/lib/docker is a separate mount#747
JamBalaya56562 wants to merge 1 commit into
nginx-proxy:mainfrom
JamBalaya56562:fix/452-container-id-mountinfo

Conversation

@JamBalaya56562

Copy link
Copy Markdown
Contributor

GetCurrentContainerID reads /proc/<pid>/mountinfo and, on a mountinfo line, anchored the container-id match to a literal containers/ path segment. When /var/lib/docker/containers (or /var/lib/docker) is its own mount, the per-container files appear as /<id>/hosts with no containers/ segment, so detection returned empty and .Docker.CurrentContainerID was blank — breaking templates that rely on it (e.g. nginx-proxy, causing 502s).

This anchors the id to a known per-container file instead (/<id>/(hostname|hosts|resolv.conf)), matching both the default layout (/var/lib/docker/containers/<id>/hosts) and a separate-mount layout (/<id>/hosts), while still excluding the overlay2 layer hashes in the mount options. The cpuset/cgroup paths are unaffected.

Adds TestGetCurrentContainerIDSeparateMount; the existing #355 mountinfo test still passes.

Fixes #452

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CurrentContainerID is blank when /var/lib/docker/containers is a separate mount point on the host

1 participant