Builders

In the Getting Started tutorial, you used the pack CLI and the base builder to create a runnable image with your application. This section explains what builders are and what builders are released by the Paketo project.

What is a builder?

A builder is an image that contains three components:

  • a set of buildpacks, which provide your app’s dependencies
  • a stack, which provides the OS layer for your app image
  • the CNB lifecycle, which puts everything together to produce your final app image

For more information about builders, see buildpacks.io.

What Paketo builders are available?

The Paketo project releases several builder images to choose from depending on your application needs. These are:

Full

Builder based off of the ubuntu:bionic stack. Consists of buildpacks to build most PHP, Java, Node.js, Go, .NET Core, Ruby, and NGINX apps with common C libraries. To build your app with it locally using pack, run:

pack build my-app-image --builder paketobuildpacks/builder:full
copy to clipboard
Copied!

Base

Builder based off of the ubuntu:bionic stack. Consists of buildpacks to build most Java, Node.js, Go, .NET Core, Ruby, and NGINX apps without common C libraries. To build your app with it locally using pack, run:

pack build my-app-image --builder paketobuildpacks/builder:base
copy to clipboard
Copied!

Tiny

Builder based off of a Distroless ubuntu:bionic stack. Consists of buildpacks to build most Go and Java GraalVM Native Image apps. To build your app with it locally using pack, run:

pack build my-app-image --builder paketobuildpacks/builder:tiny
copy to clipboard
Copied!

Paketo Builders Github Repo

Last modified: October 16, 2020