Cloud Native Buildpacks Tutorial - 2. gcr.io/paketo-buildpacks/builder:base Builderを使用する

まずはBuilderの中で最もよく利用されるgcr.io/paketo-buildpacks/builder:baseを使ってみます。

pack-inspect-builderコマンドでBuilderに含まれるBuildpackとStackを確認できます。

$ pack inspect-builder gcr.io/paketo-buildpacks/builder:base
Inspecting builder: gcr.io/paketo-buildpacks/builder:base

REMOTE:

Description: Ubuntu bionic base image with buildpacks for Java, NodeJS and Golang

Created By:
  Name: Pack CLI
  Version: 0.10.0+git-06d9983.build-259

Stack:
  ID: io.buildpacks.stacks.bionic
  Mixins:
    ca-certificates
    libssl1.1
    openssl
    build:set=shell-utils
    build:binutils
    build:binutils-common
    build:binutils-x86-64-linux-gnu
    build:build-essential
    build:ca-certificates
    build:cpp
    build:cpp-7
    build:curl
    build:dirmngr
    build:dpkg-dev
    build:fakeroot
    build:g++
    build:g++-7
    build:gcc
    build:gcc-7
    build:gcc-7-base
    build:git
    build:git-man
    build:gnupg
    build:gnupg-l10n
    build:gnupg-utils
    build:gpg
    build:gpg-agent
    build:gpg-wks-client
    build:gpg-wks-server
    build:gpgconf
    build:gpgsm
    build:jq
    build:krb5-locales
    build:less
    build:libalgorithm-diff-perl
    build:libalgorithm-diff-xs-perl
    build:libalgorithm-merge-perl
    build:libasan4
    build:libasn1-8-heimdal
    build:libassuan0
    build:libatomic1
    build:libbinutils
    build:libbsd0
    build:libc-dev-bin
    build:libc6-dev
    build:libcc1-0
    build:libcilkrts5
    build:libcurl3-gnutls
    build:libcurl4
    build:libdpkg-perl
    build:libedit2
    build:liberror-perl
    build:libexpat1
    build:libfakeroot
    build:libfile-fcntllock-perl
    build:libgcc-7-dev
    build:libgdbm-compat4
    build:libgdbm5
    build:libgomp1
    build:libgssapi-krb5-2
    build:libgssapi3-heimdal
    build:libhcrypto4-heimdal
    build:libheimbase1-heimdal
    build:libheimntlm0-heimdal
    build:libhx509-5-heimdal
    build:libisl19
    build:libitm1
    build:libk5crypto3
    build:libkeyutils1
    build:libkrb5-26-heimdal
    build:libkrb5-3
    build:libkrb5support0
    build:libksba8
    build:libldap-2.4-2
    build:libldap-common
    build:liblocale-gettext-perl
    build:liblsan0
    build:libmpc3
    build:libmpfr6
    build:libmpx2
    build:libnghttp2-14
    build:libnpth0
    build:libperl5.26
    build:libpsl5
    build:libquadmath0
    build:libreadline7
    build:libroken18-heimdal
    build:librtmp1
    build:libsasl2-2
    build:libsasl2-modules
    build:libsasl2-modules-db
    build:libsqlite3-0
    build:libssl1.0.0
    build:libssl1.1
    build:libstdc++-7-dev
    build:libtsan0
    build:libubsan0
    build:libwind0-heimdal
    build:libx11-6
    build:libx11-data
    build:libxau6
    build:libxcb1
    build:libxdmcp6
    build:libxext6
    build:libxmuu1
    build:linux-libc-dev
    build:make
    build:manpages
    build:manpages-dev
    build:multiarch-support
    build:netbase
    build:openssh-client
    build:openssl
    build:patch
    build:perl
    build:perl-modules-5.26
    build:pinentry-curses
    build:publicsuffix
    build:readline-common
    build:xauth
    build:xz-utils

Lifecycle:
  Version: 0.7.5
  Buildpack API: 0.2
  Platform API: 0.3

Run Images:
  gcr.io/paketo-buildpacks/run:base-cnb

Buildpacks:
  ID                                                  VERSION        HOMEPAGE
  paketo-buildpacks/nodejs                            v0.0.1         
  paketo-buildpacks/dotnet-core                       v0.0.1         
  paketo-buildpacks/go                                v0.0.1         
  paketo-buildpacks/node-engine                       0.0.178        
  paketo-buildpacks/npm                               0.1.11         
  paketo-buildpacks/yarn-install                      0.1.19         
  paketo-buildpacks/dotnet-core-conf                  0.0.122        
  paketo-buildpacks/dotnet-core-runtime               0.0.135        
  paketo-buildpacks/dotnet-core-sdk                   0.0.133        
  paketo-buildpacks/icu                               0.0.52         
  paketo-buildpacks/node-engine                       0.0.178        
  paketo-buildpacks/dotnet-core-aspnet                0.0.128        
  paketo-buildpacks/dotnet-core-build                 0.0.70         
  paketo-buildpacks/dep                               0.0.109        
  paketo-buildpacks/go-compiler                       0.0.112        
  paketo-buildpacks/go-mod                            0.0.96         
  paketo-buildpacks/java                              1.5.0          https://github.com/paketo-buildpacks/java
  paketo-buildpacks/debug                             1.2.3          https://github.com/paketo-buildpacks/debug
  paketo-buildpacks/executable-jar                    1.2.3          https://github.com/paketo-buildpacks/executable-jar
  paketo-buildpacks/image-labels                      1.0.3          https://github.com/paketo-buildpacks/image-labels
  paketo-buildpacks/maven                             1.2.2          https://github.com/paketo-buildpacks/maven
  paketo-buildpacks/procfile                          1.3.3          https://github.com/paketo-buildpacks/procfile
  paketo-buildpacks/dist-zip                          1.3.0          https://github.com/paketo-buildpacks/dist-zip
  paketo-buildpacks/google-stackdriver                1.1.3          https://github.com/paketo-buildpacks/google-stackdriver
  paketo-buildpacks/bellsoft-liberica                 2.5.3          https://github.com/paketo-buildpacks/bellsoft-liberica
  paketo-buildpacks/encrypt-at-rest                   1.2.3          https://github.com/paketo-buildpacks/encrypt-at-rest
  paketo-buildpacks/gradle                            1.1.3          https://github.com/paketo-buildpacks/gradle
  paketo-buildpacks/jmx                               1.1.3          https://github.com/paketo-buildpacks/jmx
  paketo-buildpacks/sbt                               1.1.3          https://github.com/paketo-buildpacks/sbt
  paketo-buildpacks/spring-boot                       1.5.3          https://github.com/paketo-buildpacks/spring-boot
  paketo-buildpacks/apache-tomcat                     1.1.3          https://github.com/paketo-buildpacks/apache-tomcat
  paketo-buildpacks/azure-application-insights        1.1.3          https://github.com/paketo-buildpacks/azure-application-insights

Detection Order:
  Group #1:
    paketo-buildpacks/java    
  Group #2:
    paketo-buildpacks/nodejs    
  Group #3:
    paketo-buildpacks/go    
  Group #4:
    paketo-buildpacks/dotnet-core    
  Group #5:
    paketo-buildpacks/procfile    

LOCAL:
(not present)

このBuilderで対応している言語は

  • Java
  • NodeJS
  • Golang
  • .NET Core

またStackとしてはgcr.io/paketo-buildpacks/run:base-cnbが使用されます。

BuilderとStackを予めpullしておきます。

docker pull gcr.io/paketo-buildpacks/builder:base
docker pull gcr.io/paketo-buildpacks/run:base-cnb