首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问容器中的其他服务?

如何访问容器中的其他服务?
EN

DevOps用户
提问于 2022-10-09 19:25:01
回答 1查看 43关注 0票数 1

我的公司决定将包含多个服务的整个解决方案封装到一个单一的单块容器中(除最佳实践外,我很清楚这与1容器=1服务的微服务方法是背道而驰的)。实际上,理论上,以下端口应该侦听流量:

  • 端口3000 (静态反应前端)
  • 8081端口(后端服务)
  • 端口8545 (附加服务) 稍后可以处理这个问题,因为我觉得8081端口服务的问题会导致类似的解决方案.

当我在实例中托管这个容器时,前端服务就会自行出现,没有问题(路由是/)。但是,后端服务被映射到/services/* (实际上是上面的:8081/services/* ),并包含一个前端需要真正“功能”的配置文件。然而,这似乎是无法访问的,因为web应用试图代理到localhost:8081/services/*以获得它(因为它是容器本身的本地主机)。

允许web应用程序调用这些不同端口上的附加服务(S)的最佳方法是什么?

我最初以为我可以在web应用程序前面放置一个Azure应用程序网关作为反向代理,并执行主机名重写来重写8081端口(FQDN/IP)上的请求(FQDN/IP):8081,但这似乎不正确(错误代码和视觉上没有区别)。我还考虑过在容器中放置一个像Nginx这样的反向代理,但我想看看是否可以先在外部完成,以停止增加这个已经很大的映像的大小,或者这是否是一种选择。

EN

回答 1

DevOps用户

发布于 2022-10-10 08:40:48

用于容器的Azure应用程序从容器中公开一个端口。检测端口3000 first (3000<8081)。

容器中的Revers代理将解决您的问题。容器外的测试将无法工作。

为了进行测试,您可以将端口3000更改为8082。后端/服务/*将可用,但前端不会。

票数 1
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/16708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档