fix
CI / changes (push) Successful in 2s
CI / docker-bff (push) Has been skipped
CI / docker-product (push) Has been skipped
CI / docker-admin (push) Successful in 3m41s

This commit is contained in:
2026-08-13 11:29:01 +08:00
parent 2c4690a29a
commit 1fa86be9d0
3 changed files with 38 additions and 11 deletions
+29 -2
View File
@@ -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地址")
}