- https://buildpacks.io/ → Cloud Native Buildpack官方网站
- https://github.com/buildpack/pack → 用于使用构建器和源代码构建OCI镜像的CLI工具
- https://buildpacks.io/docs/app-journey/ → 帮助您开始使用
pack、此构建器和应用程序创建可运行OCI镜像的教程
- https://github.com/buildpack/spec → 详细定义平台、生命周期、Cloud Native Buildpacks和应用程序之间的交互
- 可在https://slack.cloudfoundry.org/获取帮助,如遇到CNB相关问题,请在相应GitHub仓库提交issue。
CNBs是用于将应用源代码转换为可运行OCI镜像的模块化组件。
通常,Buildpacks提供了比Dockerfile更高层次的应用构建抽象。Cloud Native Buildpacks是由Pivotal和Heroku发起的项目,是https://www.cncf.io/的成员。该项目通过平台与Buildpack之间的契约统一了Buildpack生态系统,采用现代容器标准,特别是OCI镜像格式。
这些镜像称为构建器(builders),包含内部操作系统镜像(详见下文差异部分)、应用生命周期可执行文件以及Cloud Native Buildpacks集合,均按照https://github.com/buildpack/spec构建。它们由https://github.com/buildpack/packhttps://github.com/buildpack/pack#working-with-builders-using-create-builder并https://github.com/buildpack/pack#example-building-using-the-default-builder-image。
不同标签代表底层文件系统的差异,支持不同操作系统:
- https://github.com/cloudfoundry/stacks/blob/master/bionic/base/build/Dockerfile → 基于
Ubuntu 18.04(Bionic Beaver)的最小镜像,添加了一些包(称为https://github.com/buildpack/spec/blob/master/platform.md#mixins)——特别是`git`和`build-essentials`(为成功运行`go`应用而添加)。
- https://github.com/cloudfoundry/cflinuxfs3 → 基于
Ubuntu 18.04(Bionic Beaver)的镜像,补充了https://github.com/cloudfoundry/cflinuxfs3/blob/master/receipt.cflinuxfs3.x86_64。
- https://github.com/cloudfoundry/stacks/tree/master/tiny/base/run → 最小构建镜像(与base相同),带有基于Ubuntu 18.04(Bionic Beaver)的极小、类distroless运行镜像。
注意:目前,运行python、php、httpd或nginx应用时,cflinuxfs3是唯一选项。
支持的语言生态系统
每个语言生态系统由特定语言的CNB与构建系统工具的某种组合构成。
https://github.com/cloudfoundry/java-buildpack-group
- https://github.com/cloudfoundry/archive-expanding-cnb
- https://github.com/cloudfoundry/azure-application-insights-cnb
- https://github.com/cloudfoundry/build-system-cnb
- https://github.com/cloudfoundry/debug-cnb
- https://github.com/cloudfoundry/dist-zip-cnb
- https://github.com/cloudfoundry/google-stackdriver-cnb
- https://github.com/cloudfoundry/jdbc-cnb
- https://github.com/cloudfoundry/jmx-cnb
- https://github.com/cloudfoundry/jvm-application-cnb
- https://github.com/cloudfoundry/openjdk-cnb
- https://github.com/cloudfoundry/procfile-cnb
- https://github.com/cloudfoundry/tomcat-cnb
- https://github.com/cloudfoundry/spring-boot-cnb
- https://github.com/cloudfoundry/spring-auto-reconfiguration-cnb
NodeJS
- https://github.com/cloudfoundry/node-engine-cnb
- https://github.com/cloudfoundry/npm-cnb
- https://github.com/cloudfoundry/yarn-cnb
Python
- https://github.com/cloudfoundry/python-cnb
- https://github.com/cloudfoundry/pip-cnb
- https://github.com/cloudfoundry/pipenv-cnb
- https://github.com/cloudfoundry/conda-cnb
Go
- https://github.com/cloudfoundry/go-compiler-cnb
- https://github.com/cloudfoundry/go-mod-cnb
- https://github.com/cloudfoundry/dep-cnb
PHP
- https://github.com/cloudfoundry/php-dist-cnb
- https://github.com/cloudfoundry/php-composer-cnb
- https://github.com/cloudfoundry/httpd-cnb
- https://github.com/cloudfoundry/nginx-cnb
- https://github.com/cloudfoundry/php-web-cnb
HTTPD
- https://github.com/cloudfoundry/httpd-cnb
Nginx
- https://github.com/cloudfoundry/nginx-cnb