Tech Knowledge

IT技術者の知識共有を目的とした記事を書いています

Finch: Container Management Tool

本日はコンテナ管理ツールのひとつであるFinchを紹介します。Finchはコンテナをビルド、実行、公開するための新しいコマンドラインクライアントです。AWSが開発しているDockerのようなものだと思ってもらえればいいと思います。

Finch は、ローカル・コンテナ開発のためのオープンソース・ツールである。Finchは、革新的なアップストリームのコンテナ・プロジェクト(Lima、nerdctl、containerd、BuildKitなど)を簡単にインストールして使用できるようにすることで、その促進を支援することを目的としている。

runfinch.com

このページでは、Finchのインストール方法と簡単な使い方を解説します。また、WindowsとWSL2を前提に解説します。

導入

前提条件

  • Windows10(1903 以降)またはWindows11
  • wsl2をインストール済み

インストール

FinchGitHubリポジトリから最新のFinch Windowsインストーラー(Finch.msi)をダウンロードし、Finch.msiを実行します。2024年2月1日時点ではv1.1.1が最新です。
Releases · runfinch/finch · GitHub

finch vmの起動

finchはwslの仮想マシンを作成することで動作します。 コマンドプロンプトMicrosoftのWindows Terminalを起動して、以下のコマンドを実行します。

finch vm init

Finch virtual machine started successfullyと表示されれば完了です。
vmはwslコマンドのwsl -lで確認することができ、lima-finchという名前で作成されます。実際にはこのマシンにログインする必要はありません。finchコマンドをWindows上で実行すればコンテナを管理できます。

finchによるコンテナの起動

finchコマンドを使ってコンテナを起動してみましょう

finch run --rm public.ecr.aws/finch/hello-finch:latest

イメージのダウンロードが完了すれば、次のようなアウトプットがあるはずです。

                            @@@@@@@@@@@@@@@@@@@
                        @@@@@@@@@@@@    @@@@@@@@@@@
                      @@@@@@@                  @@@@@@@
                    @@@@@@                        @@@@@@
                  @@@@@@                            @@@@@
                 @@@@@                      @@@#     @@@@@@@@@
                @@@@@                     @@   @@@       @@@@@@@@@@
                @@@@%                     @     @@            @@@@@@@@@@@
                @@@@                                               @@@@@@@@
                @@@@                                         @@@@@@@@@@@&
                @@@@@                                  &@@@@@@@@@@@
                 @@@@@                               @@@@@@@@
                  @@@@@                            @@@@@(
                   @@@@@@                        @@@@@@
                     @@@@@@@                  @@@@@@@
                        @@@@@@@@@@@@@@@@@@@@@@@@@@
                            @@@@@@@@@@@@@@@@@@


Hello from Finch!

Visit us @ github.com/runfinch

nginxの起動

他にもnginxコンテナを起動してみましょう。

finch run -d --name nginx -p 80:80 public.ecr.aws/nginx/nginx

http://localhost/ にアクセスして確かめましょう。以下のような表示になるはずです。

welcome to nginx

最後に、nginxコンテナを削除しましょう。

finch rm -f nginx