diff --git a/common/utils/net.go b/common/utils/net.go
index 9dda7fad2173e169e507c94237c8aa10c28a75dd..1e74685f76645a2ad1a4f3445449b11d834517c5 100644
--- a/common/utils/net.go
+++ b/common/utils/net.go
@@ -47,17 +47,7 @@ func GetLocalIP() (string, error) {
 
 	var addr net.IP
 	for _, face := range faces {
-		if face.Flags&net.FlagUp == 0 {
-			// interface down
-			continue
-		}
-
-		if face.Flags&net.FlagLoopback != 0 {
-			// loopback interface
-			continue
-		}
-
-		if strings.Contains(strings.ToLower(face.Name), "docker") {
+		if !isValidNetworkInterface(face) {
 			continue
 		}
 
@@ -115,3 +105,21 @@ func getValidIPv4(addrs []net.Addr) (net.IP, bool) {
 	}
 	return nil, false
 }
+
+func isValidNetworkInterface(face net.Interface) bool {
+	if face.Flags&net.FlagUp == 0 {
+		// interface down
+		return false
+	}
+
+	if face.Flags&net.FlagLoopback != 0 {
+		// loopback interface
+		return false
+	}
+
+	if strings.Contains(strings.ToLower(face.Name), "docker") {
+		return false
+	}
+
+	return true
+}
\ No newline at end of file