程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Google App Engine中使用Docker compose大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在Google App ENGIne中使用Docker compose?

开发过程中遇到在Google App ENGIne中使用Docker compose的问题如何解决?下面主要结合日常开发的经验,给出你关于在Google App ENGIne中使用Docker compose的解决方法建议,希望对你解决在Google App ENGIne中使用Docker compose有所启发或帮助;

目前无法使用docker-compose在单个App ENGIne实例中具有多个应用程序容器。但是,这似乎是设计使然。

独立扩展应用程序组件

如果您想拥有多个应用程序容器,则需要将它们部署为单独的App ENGIne服务。每个服务实例仍然只有一个应用程序容器,但是每个服务可能会有多个实例。这将为您提供寻求独立伸缩每个应用程序组件的灵活性。另外,如果容器中的应用程序挂起,则不会影响其他服务,因为它们将驻留在不同的VM中。将每个组件部署为单独的服务的另一个好处是,不必为每个服务使用灵活的环境。对于某些非常小的任务,例如API后端或服务于相对缓慢变化的Web内容,标准环境就足够了,并且在资源水平较低的情况下可能会更便宜。

组件之间的通讯

由于您的评论之一提到获取实例IP,因此我认为您@R_1_9381@服务间通信很有用。我不确定您要使用VM实例IP的原因是什么,但是典型的用例可能是在实例或服务之间进行通信。要在没有实例IP的情况下执行此操作,最好的选择是仅使用适当的URL将http请求从一项服务发送到另一项服务。如果您有一个名为 的服务和一个名为 的服务,则该 服务可以向API.mycustomdomain.com托管您的应用程序的位置发出请求,并且 服务将收到X-AppENGIne- Inbound-Appid带有您的项目ID指定的标头的请求。这可以用作将请求标识为来自您自己的应用程序的方式。

使用Docker的多容器应用程序

您提到了许多应用程序示例,包括Nginx,php- FPM,RabbitMQ等。通过使用自定义运行时的 App ENGIne ,您可以部署任何容器来处理流量,只要它能够响应来自端口8080的请求即可。请记住,该应用程序的目的是提供响应。实例应设计为可快速启动和关闭,以实现水平扩展。它们不应用于存储任何应用程序数据。使用诸如Cloud SQL,Cloud Datastore,Bigquery或您在Compute ENGIne上运行的自己的redis实例之类的工具,该变量应保留在App ENGIne之外。

我希望这可以澄清一些事情并回答您的问题。

解决方法

我目前正在尝试使用 Google App ENGIne灵活环境 ,特别是该功能允许您通过提供Dockerfile
来构建自定义运行时。

Docker提供了一个非常好的功能,docker-compose用于定义和运行多容器Docker应用程序。

现在的问题是,有没有办法可以在GAE中使用docker-
compose的功能?如果答案是否定的,那么使用Docker在GAE灵活环境中部署多容器应用程序(例如Nginx + php-FPM + RabbitMQ
+ Elasticsearch + redis + MongoDB等)的最佳方法是什么?

@H_772_39@ @H_772_39@
@H_772_39@

大佬总结

以上是大佬教程为你收集整理的在Google App Engine中使用Docker compose全部内容,希望文章能够帮你解决在Google App Engine中使用Docker compose所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。