Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Finch VM 内で ECR Credential Helper を使えるようにしよう

Finch VM 内で ECR Credential Helper を使えるようにしよう

yoshitaka KOITABASHI

April 24, 2023

Transcript

14 slides
  1. あらためて Finch のおさらい 2023/4/24 yoshii0110 3 • build, run, push,

    pull などの Docker 互換の CLI コマンドツールに nerdctl • コンテナランタイムに containerd • OCI コンテナイメージのビルドに BuildKit • 仮想マシン管理に Lima
  2. Finch を使って一連の動作をやってみる (VM の設定) 1: Finch は HomeBrew でひける $

    brew install --cask finch 2-1: Finch は 仮想マシン(VM)を利用するため finch vm init コマンドで 初期設定が必要。 初回のみ。これにより VM が起動 $ finch vm init 2-2: 初回以降は、VM の起動、停止を下記のコマンドで制御 $ finch vm start $ finch vm stop 2023/4/24 yoshii0110 4
  3. Finch を使って一連の動作をやってみる (コンテナイメージ作成 / コンテナ実行) 3: ほぼ docker コマンドと同じなので、下記のようにコンテナイメージを Dockerfile

    から作成 $ finch image build -t <image_name>:<tag_name> <path_Dockerfile> 4: コンテナイメージの確認 $ finch image ls 5: コンテナイメージのタグ付け $ finch image tag <source_image_name>:<tag_name> <target_image_name>:<tag_name> 6: コンテナ実行 $ finch container run --name <container_name> <image_name>:<tag_name> 2023/4/24 yoshii0110 5
  4. Finch を使っての ECR へ image を push する 2023/4/24 yoshii0110

    6 何も考えずに ECR リポジトリへpushすると?? 都度(12時間ごと)、ECR へログインしないといけない
  5. Amazon ECR Docker Credential Helper とは? 2023/4/24 yoshii0110 7 https://github.com/awslabs/amazon-ecr-credential-helper

    Amazon ECR Docker Credential Helper を使うと ECR のログインを省略できる 問題は、これをどうやって Finch で使うのかということ
  6. Finch VM の設定 • ~/.finch/finch.yaml に仮想マシンの設定が記載されている • Finch を clone

    してきて、この finch.yaml の設定を変えることで VM 初期化 / 起動時のプロビジョニングする際に実行されるので、 スクリプトを変えてみる 2023/4/24 yoshii0110 8
  7. ローカルの ~/.finch/config.json を修正 • ~/.finch/config.json にある finch クレデンシャルファイルの設定 も更新する必要がある •

    ECR Credential helper のリポジトリに例があるのですが、 下記のように更新 2023/4/24 yoshii0110 11
  8. 修正した finch.yaml を使用して、 ローカルで Finch をビルドし実行 • Finch リポジトリをCloneする際に、サブモジュールも含めるようにする $

    git clone --recurse-submodules https://github.com/runfinch/finch.git • 次に、make コマンドを実行してバイナリをビルド _output のバイナリは直接使用できる $ ./_output/bin/finch vm init 2023/4/24 yoshii0110 12

More Decks by yoshitaka KOITABASHI

Other Decks in Technology