Limit container upstream rewrites to container runtime

This commit is contained in:
Haitao Pan 2026-04-20 18:28:24 +08:00
parent 1aab7179a7
commit 095ef07b61

View File

@ -211,6 +211,9 @@ func resolveContainerReachableEndpoint(endpoint string) string {
if trimmed == "" {
return ""
}
if !runningInsideContainer() {
return trimmed
}
parsed, err := url.Parse(trimmed)
if err != nil {
return trimmed
@ -257,6 +260,20 @@ func containerDefaultGatewayAddress() string {
return ""
}
func runningInsideContainer() bool {
if _, err := os.Stat("/.dockerenv"); err == nil {
return true
}
data, err := os.ReadFile("/proc/1/cgroup")
if err != nil {
return false
}
text := strings.ToLower(string(data))
return strings.Contains(text, "docker") ||
strings.Contains(text, "kubepods") ||
strings.Contains(text, "containerd")
}
func parseHexByte(raw string) (int, error) {
value, err := strconv.ParseUint(raw, 16, 8)
if err != nil {