fix
This commit is contained in:
+29
-2
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"admin/admin"
|
||||
"flag"
|
||||
"fmt"
|
||||
"net"
|
||||
"os"
|
||||
"strconv"
|
||||
@@ -59,7 +60,6 @@ func main() {
|
||||
listenOn := utils.GetConfigString("base.listenOn")
|
||||
mode := utils.GetConfigString("base.mode")
|
||||
serviceName := utils.GetConfigString("base.name")
|
||||
registerIP := utils.GetConfigString("base.registerIP")
|
||||
|
||||
// 初始化服务发现
|
||||
if err := discovery.Init(discovery.Config{
|
||||
@@ -80,13 +80,14 @@ func main() {
|
||||
// 注册服务
|
||||
if err := discovery.Register(discovery.Instance{
|
||||
ServiceName: serviceName,
|
||||
IP: registerIP,
|
||||
IP: c.Nacos.RegisterIP,
|
||||
Port: port,
|
||||
Group: c.Nacos.Group,
|
||||
}); err != nil {
|
||||
logx.Errorf("nacos register: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
logx.Infof("服务注册成功: %s:%d", c.Nacos.RegisterIP, port)
|
||||
|
||||
defer func() {
|
||||
if err := discovery.Deregister(); err != nil {
|
||||
@@ -149,6 +150,7 @@ func main() {
|
||||
s.Start()
|
||||
}
|
||||
|
||||
// listenPort 拆分端口
|
||||
func listenPort(listenOn string) (uint64, error) {
|
||||
_, portStr, err := net.SplitHostPort(listenOn)
|
||||
if err != nil {
|
||||
@@ -156,3 +158,28 @@ func listenPort(listenOn string) (uint64, error) {
|
||||
}
|
||||
return strconv.ParseUint(portStr, 10, 64)
|
||||
}
|
||||
|
||||
// getContainerIntranetIP 获取容器内网IPv4(排除回环地址)
|
||||
func getContainerIntranetIP() (string, error) {
|
||||
addrs, err := net.InterfaceAddrs()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
for _, addr := range addrs {
|
||||
ipNet, ok := addr.(*net.IPNet)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
// 跳过127.0.0.1回环地址
|
||||
if ipNet.IP.IsLoopback() {
|
||||
continue
|
||||
}
|
||||
// 只取IPv4地址
|
||||
ipv4 := ipNet.IP.To4()
|
||||
if ipv4 != nil {
|
||||
return ipv4.String(), nil
|
||||
}
|
||||
}
|
||||
return "", fmt.Errorf("未检测到可用内网IPv4地址")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user