在Cloud Foundry中暂存

时间:2018-07-06 12:55:37

标签: cloudfoundry staging buildpack

有人可以解释在Cloud Foundry中的过渡。我对此有一些高级知识。 CC通过cc桥向迭戈脑等发送请求。分段是否在为此目的临时创建的容器内发生?是否将构建包和应用程序文件下载到容器以创建液滴?

1 个答案:

答案 0 :(得分:1)

要使Cloud Foundry运行带有应用程序的容器,必须创建一个Droplet。 Droplet是tar.gz文件。有两种创建液滴的方法。

  • Cloud Foundry之外
  • Cloud Foundry内部

要在Cloud Foundry之外创建液滴,您可以编写脚本以遵循cf约定将其生成到.tar.gz,然后使用cf push --droplet mydroplet.tgz将液滴直接上传到cf,然后可以启动它并使用它来运行应用程序。这是非常罕见的,您不应该这样做。

要在Cloud Foundry中创建液滴,请执行cf push,而不指定液滴。这告诉cf,您希望它创建小滴。 cf创建液滴的过程称为暂存。这是登台过程中发生的事情。

  • cf将创建一个容器来运行
  • 中的暂存
  • cf将确保执行登台容器的单元VM具有安装到cf中的每个buildpack的缓存副本
  • cf将应用程序位下载到登台容器
  • cf将首先执行构建包的bin/detect脚本
  • 如果bin/detect脚本返回0,则构建包知道如何运行。如果返回1,则跳过buildpack,并且cf尝试下一个build包
  • 一旦找到匹配的构建包,则构建包将执行并创建液滴.tar.gz文件
  • cf将小滴上传到其blob存储区
  • cf临时容器已损坏
  • 分期过程完成

一旦创建了一个液滴并将其存储在cf blob存储中,cf就可以开始基于blob启动容器。我建议您通读https://docs.cloudfoundry.org/buildpacks/understand-buildpacks.html

上bulidpacks上的cf docs

应用程序一旦运行,您就可以cf ssh通过登台过程进入由buildpack生成的运行中的容器,并查看文件系统的布局。