Изменить работающее приложение GAE Flex Node

Изменить работающее приложение GAE Flex Node

Мы хотели внести быстрое изменение в работающее приложение GAE, чтобы включить регистрацию запросов для отслеживания ошибки.

При подключении по SSH к работающему экземпляру может быть сложно определить, где хранится код приложения, из-за использования Docker.

Покаэти инструкциипозволяют запустить оболочку в экземпляре контейнера, vimили подобная функция недоступна в контейнере, поэтому изменить код невозможно.

Ниже мы расскажем, как мы выяснили, где найти приложение.

решение1

В консоли GAE перейдите в боковое меню и выберитеApp Engine -> Instances

Если вы не пытаетесь подключиться к приложению по умолчанию, измените значение в раскрывающемся списке в левом верхнем углу.

Затем нажмите кнопку SSH.

Образы Docker хранятся в, /var/lib/docker/overlay2но естьмногоиз них.

Чтобы найти тот, который содержит ваше приложение, выберите имя файла, уникальное для вашего проекта, например, мы выбрали , messageProcessor.jsа затем найдите его среди всех изображений.

(У пользователя SSH нет прав, поэтому вам понадобится sudo для запуска find в этой папке)

sudo find /var/lib/docker/overlay2 -name messageProcessor.js

Надеюсь, вы получите только один результат, что-то вроде этого:

/var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/jobs/messageProcessor.js

Теперь вы знаете, где найти ваше приложение, и можете редактировать файл:

sudo vi /var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/some/file/in/my/app.js

Затем перезапустите приложение, чтобы изменения вступили в силу.

# ps -ef | grep node
root     11152 11151  0 Sep13 ?        00:00:00 node /app/index.js
# sudo kill <the pid of your process>

Связанный контент