【发布时间】:2016-03-11 07:10:51
【问题描述】:
有没有办法查看摆动的应用实例上的内容/文件?
我今天在一次性应用程序中遇到了这个问题,不幸的是,由于容器没有启动,我无法检查那里有哪些文件。所以调试问题的唯一方法(顺便说一句与错误的文件名有关)是日志流。
谢谢,
莱泽克
PS。
我正在使用 HPE Stackato,但我认为该方法类似于 CF 和 PCF 中的方法...
【问题讨论】:
有没有办法查看摆动的应用实例上的内容/文件?
我今天在一次性应用程序中遇到了这个问题,不幸的是,由于容器没有启动,我无法检查那里有哪些文件。所以调试问题的唯一方法(顺便说一句与错误的文件名有关)是日志流。
谢谢,
莱泽克
PS。
我正在使用 HPE Stackato,但我认为该方法类似于 CF 和 PCF 中的方法...
【问题讨论】:
使用 Pivotal Cloud Foundry,您可以通过cf ssh SSH 进入容器,或者设置端口转发以便您可以使用普通的ssh 甚至scp 和sftp 来访问容器或查看它的文件系统。你可以阅读更多关于它的信息:
我非常怀疑 HPE Stackato 是否存在此功能,因为它使用的是较旧的 Cloud Foundry 架构。 PCF 和 HPE 都基于开源 Cloud Foundry,但 PCF 采用较新的 Diego 架构,根据 Stackato Cluster Setup docs 中列出的节点,HPE 仍采用 DEA 架构。
使用DEA架构,应该可以使用cf files命令,用法如下:
NAME:
files - Print out a list of files in a directory or the contents of a specific file
USAGE:
cf files APP_NAME [PATH] [-i INSTANCE]
ALIAS:
f
OPTIONS:
-i Instance
为了处理无法启动的容器,目前还没有 Diego 开箱即用的解决方案,但已经讨论过了。 This blog post 讨论了一些选项,包括:
对于有问题的应用程序,通过添加“
;sleep 1d”明确指定启动命令,推送命令将如下所示 -cf push <app_name> -c "<original_command> ;sleep 1d"。这将使容器在容器内的进程退出后保留一天。
【讨论】: