ruby-on-rails - 如何在 GCP 柔性环境 VM 上安装新软件

标签 ruby-on-rails google-app-engine google-cloud-platform gcloud app-engine-flexible

我有一个 ruby​​ on rails 应用程序,它运行在 Google Cloud Platform 虚拟机上,该虚拟机运行在 App Engine 柔性环境中。当我使用 gcloud --project project-name preview app deploy 部署应用程序时,它看起来像在 VM 上安装了大部分软件我认为它通过读取它创建的临时 dockerfile 安装 rails 和其他软件.它从 app.yaml 文件中获取 dockerfile 的信息(我从他们的教程中获得了这个设置)。

这对我来说工作正常,但现在我需要将 ImageMagick 安装到服务器上以处理网站上的图像。通常,您可以通过从项目目录运行 sudo apt-get install imagemagick 来完成此操作。当我通过 SSH 连接到 VM 时,我找不到项目目录,所以这不起作用。

每次我对站点进行新部署时,我不知道如何让它运行 sudo apt-get install imagemagick,以便它在新 VM 上安装软件。

你可能会说我不太擅长服务器端的事情,想知道我应该怎么做才能以正确的方式将新软件安装到 VM 上,这样它就像 ruby​​ 和每次我进行新部署时,rails 等。

最佳答案

当您需要额外配置时,您应该使用自定义 Dockerfile。

要安装 ImageMagics,您必须在 app.yaml 中设置 runtime: custom,根据默认文件创建一个 Dockerfile,然后添加下一行:

RUN apt-get update && \
    apt-get install imagemagick -y

关于ruby-on-rails - 如何在 GCP 柔性环境 VM 上安装新软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39062214/

相关文章:

ruby-on-rails - 如何在 Rails 模型中创建多个类和实例方法

python - 如何从 Google App Engine 数据存储区查询中订购引用的对象?

android - Google App Engine 预期搜索订阅超出配额

node.js - Google App Engine Nodejs 错误 409

google-cloud-platform - 临时容器内的用户 Google Cloud 凭据?

ruby-on-rails - 更改 :id parameter in Routing resources for Rails 的名称

ruby-on-rails - ActionText blob 部分不渲染额外元素

ruby-on-rails - rails : Font awesome icons not showing using font-awesome-rails gem

google-cloud-platform - 通过 Terraform 部署 Google Cloud Function 得到 "Error 400: The request has errors, badRequest"

google-cloud-platform - 接受 Google 帐户转移请求时如何解决消息 "There was an error. Please try again"