warning
この記事は2年以上前に更新されたものです。情報が古くなっている可能性があります。

Cloud Native Buildpacksの使い方を紹介します。

Cloud Native Buildpacksを使ってラップトップ上で簡単にOCIイメージを作成できるpack CLIを使って説明します。

目次

Packのインストール

Macの場合は

brew install buildpack/tap/pack

Linuxの場合は

PACK_VERSION=0.10.0
curl -L -s https://github.com/buildpacks/pack/releases/download/v${PACK_VERSION}/pack-v${PACK_VERSION}-linux.tgz | tar xz
chmod +x pack
mv pack /usr/local/bin

またpackはDockerを使用しますので、別途Dockerのインストールが必要です。Cloud Native Buildpacks自体はDockerが必須ではありません。

本Tutorialは次のバージョンで確認しています。

$ pack version
0.10.0+git-06d9983.build-259

$ docker -v       
Docker version 19.03.8, build afacb8b

Builderの確認

pack suggest-buildersで推奨のBuilderを表示します。Builderには複数のBuildpackStack(ベースイメージ)が含まれます。

$ pack suggest-builders
Suggested builders:
    Cloud Foundry:     cloudfoundry/cnb:bionic         Ubuntu bionic base image with buildpacks for Java, NodeJS and Golang                           
    Cloud Foundry:     cloudfoundry/cnb:cflinuxfs3     cflinuxfs3 base image with buildpacks for Java, .NET, NodeJS, Golang, PHP, HTTPD and NGINX     
    Cloud Foundry:     cloudfoundry/cnb:tiny           Tiny base image (bionic build image, distroless run image) with buildpacks for Golang          
    Heroku:            heroku/buildpacks:18            heroku-18 base image with buildpacks for Ruby, Java, Node.js, Python, Golang, & PHP            

Tip: Learn more about a specific builder with:
    pack inspect-builder [builder image]

Pack 0.10.0の段階ではsuggestされるBuilderがcloudfoundry/cnbですが、今後Paketo Buildpacksに移行されます。
そのため、TutorialではPaketoを使用します。

0.10.0の段階でcloudfoundry/cnbはPaketo Buildpacksが含まれており、以下の組み合わせのBuilderの中身は実質的に同じです。

  • cloudfoundry/cnb:bionic => gcr.io/paketo-buildpacks/builder:base
  • cloudfoundry/cnb:cflinuxfs3 => gcr.io/paketo-buildpacks/builder:full-cf
  • cloudfoundry/cnb:tiny => gcr.io/paketo-buildpacks/builder:tiny
Found a mistake? Update the entry.
Share this article: