Google App Engine 灵活获取对包动态创建的文件夹的访问权限?

Google App Engine Flexible get access to a folder dynamically created by a package?

我正在我的 NodeJs 应用程序上做 Profiling,我正在使用 Google App Engine Flexible,为此,我正在使用 npm 0x,但事情就是这个包正在我的 NodeJs 根目录文件夹中制作 flamegraph,现在我怎么能 retrieve this folder(我的意思是 get access 到这个文件夹)。我的 App Engine Flexible 实例有 SSH,但有两个文件夹 vm-runtime-appvmagent,但那里没有我的 NodeJs 源代码根目录。

这是因为 GAE 实例将应用程序启动到 Docker container。 SSH 到您的实例后,您需要将 shell 生成到运行您的应用程序的容器中

以下是在您通过 SSH 连接到您的实例后的步骤:

sudo docker ps
docker exec -it [CONTAINER-NAME] /bin/bash

第一个命令将列出 运行 Docker 个容器,其中包括您的节点运行时容器(可能命名为 gaeapp);第二个命令将在容器中生成 bash shell,您可以在其中 lscd 以及 pwd around

一旦知道要下载哪个目录或文件,就可以退出容器 shell 并将文件从容器复制到 GAE 实例:

exit
docker cp [CONTAINER-NAME]:/app/package.json ./

从那里您可以使用 gcloud shell 在本地下载此文件。在节点中生成后,您也可以简单地将其复制到节点中的 api(即 /debug/flamegraph.svg)中公开的 http 端点,只需说'