收藏
回答

如何解决部署发布时的dial tcp 10.34.15.89:8080: connect问题?

我的DockerFile内容如下:

FROM golang:1.22.0 as builder

WORKDIR /app

COPY . /app/

RUN CGO_ENABLED=0 GOOS=linux go build -o main .

FROM alpine:latest

USER root

RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

RUN apk add ca-certificates

WORKDIR /app

COPY --from=builder /app/main .

COPY config.yaml .

CMD ["./main"]


程序入口文件如下:

    // 初始化gin
    gin.SetMode(gin.ReleaseMode)
    r := gin.Default()
    r.Use(GlobalMiddleWare()) // 跨域中间件
    InitRule(r) // 加载路由
    // 监听端口
    log.Println(os.Getenv("PORT"))
    err := r.Run(fmt.Sprintf(":%s", os.Getenv("PORT")))
    if err != nil {
       log.Fatal("web service error: " + err.Error())
       return
    }


数据库链接情况如下:

func init() {
    dataSourceName := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s","root","82611645489","10.34.103.81",3306,"projenctdb")
    database, err := sqlx.Open("mysql", dataSourceName)
    if err != nil {
       log.Println("[ERROR] Open mysql Failed,", err)
       return
    }
    Db = database
    err = Db.Ping()
    if err != nil {
       log.Println("[ERROR] Mysql err:", err)
       return
    }
    Db.SetMaxOpenConns(50)
}


Redis的初始化如下:

func init() {
    Pool = &redis.Pool{
       MaxIdle:   Config.C.Redis.MaxIdle,
       MaxActive: Config.C.Redis.MaxActive,
       Dial: func() (redis.Conn, error) {
          c, err := redis.Dial("tcp", "101.133.146.144", // 此处是我的一个开放在公网且监听了0.0.0.0的redis
             redis.DialPassword("jx4iYqqNESLAUL"),
             redis.DialDatabase(0),
             redis.DialUseTLS(false),
          )
          if err != nil {
             log.Println("redis connect error: %s", err.Error())
          }
          return c, err
       },
    }
    _, _ = Pool.Get().Do("PING")
}


将其上传部署到微信云托管之后,构建都没有问题,最后提示

024-02-19 09:40:17 create_eks_virtual_service : succ, 
2024-02-19 09:40:17 check_eks_virtual_service : process, DescribeVersion_user_error_Liveness probe failed: dial tcp 10.34.15.89:8080: connect: connection refused, 


请问各位大佬怎么解决

回答关注问题邀请回答
收藏
登录 后发表内容