Slide 1

Slide 1 text

©2022 VMware, Inc. Cloud Native Buildpacks を使いたい Tomoyuki Tanigaki Sr. TSE / CTO Ambassador @VMware 2022/6/24

Slide 2

Slide 2 text

©2022 VMware, Inc. 2 Dockerfile がしんどい… 自作ツールをコンテナ化したい! ところで、Dockerfile はどう書けばいいの? 「Dockerfile 書き方」 「Dockerfile ベストプラクティス」 などで検索 ビルドキャッシュ マルチステージビルド distroless, alpine…

Slide 3

Slide 3 text

©2022 VMware, Inc. 3 Cloud Native Buildpacks を使いたい! Dockerfile なしでイメージを作成! 参照:buildpacks.io

Slide 4

Slide 4 text

©2022 VMware, Inc. 4 Cloud Native Buildpacks の仕組み Detect フェーズ ▪ ソースコードから buildpack の適用可否を判定 例) ▪ Python: requirements.txt, setup.py の有無 ▪ Node.js: package-lock.json の有無 Build フェーズ ▪ コードを実行するための環境を準備 例) ▪ Python: “pip install –r requirements.txt” を実行 ▪ Node.js: “npm install” を実行 参照:buildpacks.io

Slide 5

Slide 5 text

©2022 VMware, Inc. 5 Cloud Native Buildpacks の使い方 1. pack コマンドのインストール ✓ Homebrew: “brew install buildpacks/tap/pack” を実行 2. “pack build <イメージ名> --builder ” を実行 ✓ builder: コンテナイメージを生成するためのベースとなるイメージ 参照:buildpacks.io

Slide 6

Slide 6 text

©2022 VMware, Inc. 6 デモ ソースコード ▪ https://github.com/ttani03/buildpack-fastapi デモの内容 ▪ pack コマンドでイメージを作成 ▪ Tilt との連携

Slide 7

Slide 7 text

©2022 VMware, Inc. 7 はまったポイント ❑ Procfile の書き忘れ ✓ 起動時に実行するコマンドを指定する必要あり ❑ Ubuntu on WSL2 x Rancher Desktop では pack コマンドが動かない… ✓ https://github.com/rancher-sandbox/rancher-desktop/issues/1544 ❑ Tilt で live_update を使うときはファイル更新時に リロード処理が実行されるよう設定が必要

Slide 8

Slide 8 text

Thank You ©2022 VMware, Inc.