【发布时间】:2019-09-11 19:01:15
【问题描述】:
Google Cloud Run 是新的。是否可以在其上运行 WordPress docker?也许使用 gce 作为 mysql/mariadb 的数据库。找不到任何关于此的讨论
【问题讨论】:
标签: google-cloud-run
Google Cloud Run 是新的。是否可以在其上运行 WordPress docker?也许使用 gce 作为 mysql/mariadb 的数据库。找不到任何关于此的讨论
【问题讨论】:
标签: google-cloud-run
虽然我认为这是可能的,但完成此练习并不能很好地利用您的时间。 Cloud Run 可能不是适合这项工作的工具。
更新有人在博客上写了一篇关于此的教程(使用风险自负):https://medium.com/acadevmy/how-to-install-a-wordpress-site-on-google-cloud-run-828bdc0d0e96
这里有几点需要考虑;
(更新:这不再是真的)目前 Cloud Run 不支持原生连接到 Cloud SQL (mysql)。有一些技巧,例如在容器内启动 cloudsql_proxy:How to securely connect to Cloud SQL from Cloud Run? 可以正常工作。
您需要事先准备好您的wp-config.php 并将其烘焙到您的容器映像中。由于您的容器会不时被清除,您应该安装您的博客(创建一个wp-config.php)并将生成的文件烘焙到容器映像中,这样当容器重新启动时,它不会丢失您的 wp-config .php。
持久存储可能是个问题:与第 2 点类似,重新启动容器将删除启动后保存到容器中的文件。您需要确保安装的插件、图像上传等内容不应该写入容器的本地文件系统。 (我不确定 wordpress 是否允许您将此类文件写入其他地方,例如 GCS/S3 存储桶。)要实现这一点,您最终可能会使用 https://wordpress.org/plugins/wp-stateless/ 插件或 gcs-media-plugin 之类的东西。
写入 Cloud Run 容器的本地文件系统的任何文件也计入容器的可用内存,因此如果您继续向其写入文件,您的应用程序可能会耗尽内存。
长话短说,如果您可以确保您的 WP 安装不会在您的本地磁盘上写入/修改文件,那么它应该可以正常工作。
我认为 Cloud Run 可能不适合这里的工作,因为它运行“无状态”容器,而且很难让 WordPress 成为无状态,尤其是在安装主题/插件、配置东西等时。不要提一下,您的 Cloud SQL 服务器不会是“无服务器”的,您将在它没有收到任何请求时为其付费。
(P.S. 这将是一个很好的练习,可以尝试写一篇博客文章!如果你这样做,请将其添加到awesome-cloudrun repo。)
【讨论】: