buildpack和droplet之间的区别

时间:2014-10-04 08:25:15

标签: cloudfoundry buildpack

以下是我对cloudfoundry buildpacks和飞沫的理解

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

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

请更正或添加其他信息。

2 个答案:

答案 0 :(得分:6)

buildpack 是三个二进制文件的集合: detect compile release 。当您的app位被推送到Cloud Foundry时,所有可用构建包中的 detect 将针对您的位运行,直到返回true。例如,Ruby buildpack检查是否有Gemfile,Python buildpack查找requirements.txt等等。接下来, compile 阶段将您的app位变为单个runnable包,这意味着编译代码(如果需要)并捆绑所需的任何其他东西,如JDK,tomcat,spring等;或者Ruby解释器,宝石等。单个可执行文件是 droplet 。最后, release 阶段会显示Droplet和相关元数据,以便stager可以将它们上传到云控制器。

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

基本上,buildpack将你的应用程序打包成一个Droplet,它包含你的应用程序+其他一些东西,或者应用程序的已编译二进制版本,然后droplet将在容器中运行。

答案 1 :(得分:0)

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

Droplet 是包含您的APP +运行时+ framework +依赖项的tarball文件。此程序包已过时,最终已部署。