2

这是我对cloudfoundry buildpacks和droplets的理解

buildpack是运行时(比如 jdk)+ 容器(比如 tomcat)+ 框架(比如 spring)+ 服务配置(如果有的话)+ 你的应用程序(如果有的话)。

droplet是部署在 linux 容器上的 buildpack。

请更正或添加其他信息。

4

2 回答 2

7

buildpack是三个二进制文件的集合:detectcompilerelease。当您的应用程序位被推送到 Cloud Foundry 时,所有可用构建包中的检测都会针对您的位运行,直到返回true。例如,Ruby buildpack 检查是否存在 a Gemfile,Python buildpack 查找 arequirements.txt等。接下来,编译阶段将您的应用程序位转换为单个可运行的包,这意味着编译代码(如有必要)并捆绑在任何需要额外的东西,比如JDK、tomcat、spring等;或 Ruby 解释器、gem 等。单个可执行文件是droplet。最后,发布阶段呈现 droplet 和相关的元数据,以便 stager 可以将它们上传到云控制器。

要运行您的应用程序,从云控制器检索液滴并在容器内运行。

基本上,一个 buildpack 将您的应用程序打包成一个 droplet,它由您的应用程序 + 一些其他内容或应用程序的编译二进制版本组成,然后该 droplet 在容器中运行。

于 2014-10-09T22:33:28.850 回答
0

Buildpacks是为您的应用程序提供运行时支持的脚本。构建包是一个脚本,其中包含检测、提供、完成和发布的指令。它们本质上提供了您的应用程序运行时 + 应用程序框架 + 相关依赖项。

Droplet是 tarball 文件,其中包含您的 APP+运行时间+框架+依赖项。该软件包已暂存并最终部署。

于 2019-08-15T06:51:04.290 回答