登录
首页 >  Golang >  Go问答

热重载在我的应用程序中无法实现

来源:stackoverflow

时间:2024-02-26 14:57:23 436浏览 收藏

你在学习Golang相关的知识吗?本文《热重载在我的应用程序中无法实现》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我想在我的 golang 应用程序中使用热重载。 我用的是航空包装。

但是当我修改 main.go 时,api 响应没有更改。

↓ 我的应用程序文件夹。

my-app
   |--- app
   |      |--- .air.toml
   |      |--- dockerfile
   |      |--- go.mod
   |      |--- go.sum
   |      |--- main.go
   |
   |--- docker-compose.yml

↓ dockerfile

from golang:1.16

env gopath /go
env go111module on

copy go.mod /var/www/html/go.mod
copy go.sum /var/www/html/go.sum
workdir /var/www/html/
run go mod download

run go mod tidy && \
    go install github.com/cosmtrek/[email protected]

copy . /var/www/html/

cmd ["air", "-c", ".air.toml"]

↓ docker-compose.yml

version: '3'
services:
  app:
    build: ./app
    tty: true
    volumes:
      - ./app:/var/www/html
    depends_on:
      - mysql
    ports:
      - "3000:3000"
    command: "air"

↓ main.go

package main

import (
    "net/http"

    "github.com/gin-gonic/gin"
)

func main() {
    engine := gin.Default()
    engine.GET("/", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "hello world",
        })
    })
    engine.Run(":3000")
}

我在应用程序容器中通过 air init 命令创建了 .air.toml

当我执行命令 docker-compose up --build 时,我得到 ↓。

我的控制台

出了什么问题?


正确答案


它对我来说没有问题。刚刚改变

dockerfile

from golang:1.18
   ...

docker-compose.yml

...
  #  depends_on:
  #- mysql
  ...

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>