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
Tweet

More Decks by yoshitaka KOITABASHI

Other Decks in Technology

Transcript

  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