Insights Hub Cloud Foundry (CF) – 如何通过命令行工具来下载 CF 中的整个应用

2024-03-26T02:12:36.000-0400
Developer Tools Applications

摘要

有时需要排查问题,例如:检查 CF 中的 App 对应的文件是否存在?推送到 CF 中的整个应用是否和本地的一致?或者需要备份整个 App —— 这时可以将在 CF 中已运行的 App 实例下载到本地。


详细信息

首先我们需要知道整个 App (所有 App 会产生的临时文件) 是运行在一个容器里的,我们称为 Droplet (App 的源代码和任何改动都会被 App 所对应的 Buildpack 进行编译,让其变得最终可运行)。

我们可以通过 CF 提供的 API 来下载 Droplet 里的整个内容。操作步骤如下:

  1. 获取 App 的 GUID (<app-guid>)
    执行:cf app --guid
  2. 获取 Droplet 的 GUID
    接着获取当前 droplet 的 guid (<droplet-guid>)。执行:cf curl /v3/apps/<guid>/droplets/current,对应的输出可参考如下格式:
    ....
    "download": {   
        "href": "https://xxxxxxxxxxxxx/v3/droplets/<droplet-guid>/download"
    }
  3. 下载 droplet
    下载容器里的整个 App。执行:cf curl /v3/droplets/<droplet-guid>/download --output droplet.tar.gz。最终输出的格式可以为:.tar.gz, .gtz 等等。文件最后被下载的位置为当前命令行窗口所在的目录。

知识库文章 ID# KB000130806_ZH_CN

内容

摘要详细信息

关联组件

Cloud Foundry