我们希望对正在运行的 GAE 应用程序进行快速更改,以启用查询日志记录来追踪错误。
通过 SSH 进入正在运行的实例时,由于使用了 docker,可能很难找到应用程序代码的存储位置。
尽管这些说明允许您在容器实例中启动 shell,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>