Google App Engine Flexible 可以访问由包动态创建的文件夹吗?
Posted
技术标签:
【中文标题】Google App Engine Flexible 可以访问由包动态创建的文件夹吗?【英文标题】:Google App Engine Flexible get access to a folder dynamically created by a package? 【发布时间】:2018-04-09 12:44:11 【问题描述】:我在我的NodeJs
应用程序上执行Profiling
,我正在使用Google App Engine Flexible
,为此,我正在使用npm 0x,但问题是这个包正在我的NodeJs 根目录中创建flamegraph
目录文件夹,现在我怎么retrieve this folder
(我的意思是get access
到这个文件夹)。我的 App Engine Flexible 实例有 SSH
,但有两个文件夹 vm-runtime-app
、vmagent
,但我的 NodeJs 源代码根目录不存在。
【问题讨论】:
【参考方案1】:这是因为 GAE 实例将应用程序启动到 Docker container。 SSH 到您的实例后,您需要在运行您的应用的容器中生成一个 shell
以下是在您通过 SSH 连接到您的实例之后的步骤:
sudo docker ps
docker exec -it [CONTAINER-NAME] /bin/bash
第一个命令将列出正在运行的 Docker 容器,其中包括您的节点运行时容器(可能命名为 gaeapp
);第二个命令将在容器内生成一个 bash shell,您可以在其中 ls
和 cd
和 pwd
左右
一旦知道要下载哪个目录或文件,就可以退出容器外壳并将文件从容器复制到 GAE 实例:
exit
docker cp [CONTAINER-NAME]:/app/package.json ./
从那里您可以使用 gcloud shell 在本地下载此文件。您也可以在 Node 中生成它后,将其简单地复制到您的 api 中暴露的 http 端点(即/debug/flamegraph.svg
),只是说'
【讨论】:
以上是关于Google App Engine Flexible 可以访问由包动态创建的文件夹吗?的主要内容,如果未能解决你的问题,请参考以下文章
连接 Google App Engine 和 Google Compute Engine
Google App Engine Flexible 和 Google Container Engine 之间的区别?
如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?
将 Meteor 部署到 Google App Engine 2017