fix: detect container ID when /var/lib/docker is a separate mount#747
Merged
buchdag merged 1 commit intoJun 28, 2026
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes .Docker.CurrentContainerID detection when /var/lib/docker (or /var/lib/docker/containers) is mounted separately, causing mountinfo paths to appear as /<id>/hosts without a containers/ segment and previously resulting in an empty container ID.
Changes:
- Updates mountinfo parsing to anchor the container ID match to known per-container files (
hostname,hosts,resolv.conf) instead of requiring a literalcontainers/path segment. - Adds a regression test covering the “separate mount” mountinfo layout from issue #452.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| internal/context/context.go | Adjusts mountinfo-specific regex to match container IDs via /<id>/(hostname|hosts|resolv.conf) so separate-mount layouts are detected. |
| internal/context/context_test.go | Adds TestGetCurrentContainerIDSeparateMount to validate detection when per-container files appear under /<id>/... paths. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
buchdag
approved these changes
Jun 28, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
94e0be1 to
1b86f10
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GetCurrentContainerIDreads/proc/<pid>/mountinfoand, on a mountinfo line, anchored the container-id match to a literalcontainers/path segment. When/var/lib/docker/containers(or/var/lib/docker) is its own mount, the per-container files appear as/<id>/hostswith nocontainers/segment, so detection returned empty and.Docker.CurrentContainerIDwas 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