1

У меня есть приложение 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 каждый раз, когда я создаю новое развертывание на сайте, чтобы оно имело программное обеспечение на новой виртуальной машине.

Как вы могли бы сказать, что я не очень хорошо разбираюсь в стороне сервера и хочу знать, что я должен делать, чтобы получить новое программное обеспечение на виртуальной машине правильно, поэтому его всегда там, как рубин и рельсы и т. д. каждый раз, когда я делаю новое развертывание.

+1

Вместо умолчанию, вы должны сделать пользовательский Dockerfile с этим 'Судо apt-get install imagemagick' command –

+0

@IgorArtamonov Ok. Таким образом, будет два докерных файла, по умолчанию один из которых был установлен в развертывании, и тот, который я делаю, я запускаю 'sudo apt-get install imagemagick'? Я не могу найти что-либо на том, как это сделать, чтобы он знал, что есть файл acustom dockerfile, можете ли вы связать некоторую документацию о том, как этот настраиваемый файл докеров должен быть настроен или, возможно, учебник? – Rob

+1

@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

ответ

2

Вы должны использовать пользовательский файл Docker, если вам нужна дополнительная настройка.

Для установки ImageMagics вы должны установить runtime: custom в вашем app.yaml, создать Dockerfile основанный на умолчанию, и добавьте следующую строку:

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

Пожалуйста, удалите 'and', так как это приведет к сбою сборки. Было бы неплохо, если бы вы упомянули, что вы можете создать файл 'Dockerfile 'по умолчанию с' gcloud beta app gen-config --custom' – diogovk

+0

спасибо! пропустили это –

 Смежные вопросы

  • Нет связанных вопросов^_^