如何设置docker-compose以与App Engine和Wordpress一起使用?

时间:2019-04-12 20:10:17

标签: wordpress docker google-app-engine

我正在使用gitlab ci / cd将我的应用程序部署到google app引擎。我已经有php实例正常工作,但是当我尝试使用docker-compose构建wordpress图片时,什么也没发生。

这些是我的文件: enter image description here

enter image description here

enter image description here

enter image description here

我有一个文件夹“ web”,其中包含文件ping.php:https://site-dot-standalone-applications.appspot.com/ping.php

因此应用程序正在/ web文件夹中运行。

wordpress应该在以下情况下部署到/ web文件夹中:

  

docker-compose up

更新 只需使用以下gitlab-ci.yaml: enter image description here

1 个答案:

答案 0 :(得分:1)

不幸的是,您不能通过这种方式(轻松)将容器部署到App Engine Flex。

最简单的说,App Engine Flex是一项结合了负载平衡器,自动缩放器和docker映像的服务。图像作为容器运行时,有望在端口8080上提供HTTP / S端点。

App Engine可以通过两种方式支持您的部署,却不支持:

  • 它将WordPress应用程序映像和MySQL映像捆绑到单个“ pod”中,并在:8080上公开WordPress的HTTP端口。这不是您想要的,因为每个WordPress实例都有自己的MySQL实例。

  • 它将WordPress应用程序分离为一个服务,而MySQL应用程序分离为另一服务。这更接近于您想要的,因为您可以独立于MySQL实例扩展WordPress实例。但是,数据库是权威的有状态应用程序,您不希望将它们作为App Engine服务运行。

第二种情况建议您考虑一些替代方法:

  1. 将WordPress应用程序部署到App Engine,但使用Google Cloud SQL服务link
  2. 如果您不想使用Cloud SQL,则可以在Compute Engine link上运行MySQL数据库。
  3. 您不妨考虑使用Kubernetes Engine。这将允许上面概述的方法,并且可以使用一些工具来帮助您从docker-compose文件迁移到Kubernetes配置link

由于您熟悉App Engine,因此建议您考虑使用上述选项#1(Cloud SQL)