首页 > 解决方案 > 将框架 Gin 切换到 Echo 后服务器不再响应

问题描述

我曾经使用 Gin(Golang 框架)并将 docker 映像部署到 GKE。它工作得很好。

但是当我将 Gin 切换到 Echo 时服务器不再响应(它也是 Golang 框架)

我认为这是因为端口组合(端口转发)有问题。

我的回显服务器代码如下所示。

func main() {
    e := presentation.Router()

    e.Logger.Fatal(e.Start(":8080")) // listen and serve on :8080
}

我的 dockerfile 如下所示。

FROM alpine:3.9

WORKDIR /app
ADD main /app

ENV PORT 80

EXPOSE 80

CMD ["./main"]

当请求到达 80 端口时,它必须渲染到 8080 端口(容器端口)。但目前它似乎不像上面那样工作。

如何匹配外部端口和内部端口?

标签: dockergokubernetesechogoogle-kubernetes-engine

解决方案


使用docker run -p 80:8080 image_name运行容器的命令,会发布容器的 8080 端口,并与宿主机的 80 端口进行映射。


推荐阅读