docker - 将框架 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 端口(容器端口)。但目前它似乎不像上面那样工作。
如何匹配外部端口和内部端口?
解决方案
使用docker run -p 80:8080 image_name
运行容器的命令,会发布容器的 8080 端口,并与宿主机的 80 端口进行映射。
推荐阅读
- c# - Vector3的纬度和经度未在3D球体上对齐
- html - 用锚链接到不同的页面(href)
- python - 使用 lxml 和 XSLT 在 Python 中将 XML 转换为 JSON
- ubuntu - 詹金斯用户权限问题(ubuntu)
- angular - 赛普拉斯必须等待输入的文本传播到代码
- sql - 使用 XMLTable n Oracle 解析 XML
- typescript - TypeScript 访问和更改全局变量
- django - django template查看比较权限
- javascript - 预加载器的淡出脚本不起作用
- excel - 使用 Excel 365 VBA 将文本复制到剪贴板