diff --git a/cmd/containerd/command/main.go b/cmd/containerd/command/main.go index eb12bb4ba..ca6acfe39 100644 --- a/cmd/containerd/command/main.go +++ b/cmd/containerd/command/main.go @@ -190,7 +190,7 @@ can be used and modified as necessary as a custom configuration.` if config.Debug.Address != "" { var l net.Listener - if filepath.IsAbs(config.Debug.Address) { + if isLocalAddress(config.Debug.Address) { if l, err = sys.GetLocalListener(config.Debug.Address, config.Debug.UID, config.Debug.GID); err != nil { return errors.Wrapf(err, "failed to get listener for debug endpoint") } diff --git a/cmd/containerd/command/main_unix.go b/cmd/containerd/command/main_unix.go index b8970c6d2..98fd69871 100644 --- a/cmd/containerd/command/main_unix.go +++ b/cmd/containerd/command/main_unix.go @@ -21,6 +21,7 @@ package command import ( "context" "os" + "path/filepath" "github.com/containerd/containerd/log" "github.com/containerd/containerd/services/server" @@ -72,3 +73,7 @@ func handleSignals(ctx context.Context, signals chan os.Signal, serverC chan *se }() return done } + +func isLocalAddress(path string) bool { + return filepath.IsAbs(path) +} diff --git a/cmd/containerd/command/main_windows.go b/cmd/containerd/command/main_windows.go index 774a49618..1803e1808 100644 --- a/cmd/containerd/command/main_windows.go +++ b/cmd/containerd/command/main_windows.go @@ -20,6 +20,7 @@ import ( "context" "fmt" "os" + "strings" "unsafe" "github.com/Microsoft/go-winio/pkg/etw" @@ -117,3 +118,7 @@ func init() { } } } + +func isLocalAddress(path string) bool { + return strings.HasPrefix(path, `\\.\pipe\`) +}