Google App Engine Flexible可以访问由包动态创建的文件夹吗?

时间:2018-04-09 12:44:11

标签: node.js google-app-engine google-cloud-platform profiling

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

1 个答案:

答案 0 :(得分:2)

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

以下是 SSH到您的实例后的步骤:

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

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

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

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

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