9

谷歌云运行是新的。是否可以在其上运行 WordPress docker?也许使用 gce 作为 mysql/mariadb 的数据库。找不到任何关于此的讨论

4

1 回答 1

4

尽管我认为这是可能的,但完成此练习并不能很好地利用您的时间。Cloud Run 可能不是适合这项工作的工具。

更新有人写了一篇关于这个的教程(使用风险自负):https ://medium.com/acadevmy/how-to-install-a-wordpress-site-on-google-cloud-run-828bdc0d0e96

这里有几点需要考虑;

  1. (更新:这不再是真的)目前 Cloud Run 不支持原生连接到 Cloud SQL (mysql)。有一些黑客攻击,比如在容器内启动 cloudsql_proxy:如何从 Cloud Run 安全地连接到 Cloud SQL?这可以正常工作。

  2. 您需要wp-config.php事先准备好并将其烘焙到您的容器映像中。由于您的容器会不时被清除,您应该安装您的博客(创建一个wp-config.php)并将生成的文件烘焙到容器映像中,这样当容器重新启动时,它就不会丢失您的 wp-config.php。

  3. 持久存储可能是个问题:与第 2 点类似,重新启动容器将删除启动后保存到容器中的文件。您需要确保安装的插件、图像上传等内容不应该写入容器的本地文件系统。(我不确定 wordpress 是否允许您将此类文件写入 GCS/S3 存储桶等其他地方。)要实现这一点,您可能最终会使用类似https://wordpress.org/plugins/wp-stateless /插件或gcs-media-plugin

    写入 Cloud Run 容器的本地文件系统的任何文件也计入容器的可用内存,因此如果您继续向其写入文件,您的应用程序可能会耗尽内存。

长话短说,如果您可以确保您的 WP 安装不会在本地磁盘上写入/修改文件,那么它应该可以正常工作。

我认为 Cloud Run 可能不适合这里的工作,因为它运行“无状态”容器,而且很难让 WordPress 成为无状态的,特别是如果你正在安装主题/插件、配置东西等。更不用说,你的Cloud SQL Server 不会是“无服务器”的,您将在它没有收到任何请求的情况下为其付费。

(PS 这将是一个很好的练习,可以尝试写一篇博客文章!如果你这样做,请将其添加到awesome-cloudrun 存储库。)

于 2019-04-22T18:08:14.527 回答