У меня есть приложение ruby on rails на виртуальной виртуальной машине Google, работающей на гибкой среде приложения. Похоже, что он устанавливает большую часть программного обеспечения на виртуальной машине при развертывании приложения с помощью gcloud --project project-name preview app deploy
. Я думаю, что он устанавливает рельсы и другое программное обеспечение из чтения созданного временного файла dockerfile. Он захватывает информацию для файла docker из файла app.yaml (я получил эту настройку, следуя их учебникам).Как установить новое программное обеспечение на гибкую среду GCP VM
Это работало отлично для меня, но теперь мне нужно установить ImageMagick на сервер, чтобы манипулировать изображениями на сайте. Обычно вы делаете это, запустив sudo apt-get install imagemagick
из каталога проекта. Когда я SSH на VM, я не могу найти каталог проекта, чтобы он не работал.
Я понятия не имею, как заставить его запускать sudo apt-get install imagemagick
каждый раз, когда я создаю новое развертывание на сайте, чтобы оно имело программное обеспечение на новой виртуальной машине.
Как вы могли бы сказать, что я не очень хорошо разбираюсь в стороне сервера и хочу знать, что я должен делать, чтобы получить новое программное обеспечение на виртуальной машине правильно, поэтому его всегда там, как рубин и рельсы и т. д. каждый раз, когда я делаю новое развертывание.
Вместо умолчанию, вы должны сделать пользовательский Dockerfile с этим 'Судо apt-get install imagemagick' command –
@IgorArtamonov Ok. Таким образом, будет два докерных файла, по умолчанию один из которых был установлен в развертывании, и тот, который я делаю, я запускаю 'sudo apt-get install imagemagick'? Я не могу найти что-либо на том, как это сделать, чтобы он знал, что есть файл acustom dockerfile, можете ли вы связать некоторую документацию о том, как этот настраиваемый файл докеров должен быть настроен или, возможно, учебник? – Rob
@Rob Я думаю, вам нужно посмотреть на создание времени выполнения ['custom'] (https://cloud.google.com/appengine/docs/flexible/custom-runtimes/quickstart) (т. Е. Вместо' ruby' в вашем 'app.yaml'), на основе одного из предопределенных, [здесь] (https://cloud.google.com/appengine/docs/flexible/custom-runtimes/build) – tx802