🦜

Dockerからfinchに乗り換えできるかしら

2024/07/19に公開

finch

https://github.com/runfinch/finch

  • AWSが公開したDockerに代わるコンテナツール
  • Limaがベースになっており、Dockerより速いらしい

ベータ版のときから気になっていましたが、また気になってきたので使ってみることにします。

https://runfinch.com/docs/cli-reference/finch_compose/

今回はcomposeを試してみました。

一部対応していない機能もありそうですが、基本的に既存のcompose.ymlをそのまま使うことができます。

コマンドはDockerとほとんど一緒です。

基本的なコマンド

finchをインストール

brew install --cask finch

初期化

finch vm init

finch起動

finch vm start

コンテナビルド

finch compose build

コンテナ起動

finch compose start

コンテナ停止

finch compose stop

起動コンテナ確認

finch ps

コンテナに入る

finch compose exec web bash

ログ確認

finch compose logs -f

finch停止

finch vm stop

起動対象のコンテナ群

compose.ymlは割愛しますが、10個のコンテナ群が起動する開発環境で試してみます。

かなり雑な検証ですが、いったん自分の環境のDockerの設定値に合わせて、
コンテナを起動してから、アプリのログイン画面が表示されるまでの時間を計測してみます。

CPUは10コア、メモリは20GBに設定しています。

Docker

結果

1分02秒31

finch

# finch.yaml
cpus: 10
memory: 20GiB
vmType: qemu
rosetta: false

結果

53秒84

所感

体感Dockerより速そうな感じはしていましたが、実際に速度を計ってみるとそんなに差はありませんでした。

attachなどのオプションが使用できなかったり、upでコンテナを起動させようとすると一部のコンテナのコマンドが実行されなかったりとまだまだ物足りない気もしています。

くじら(Docker)だったらなー・・・と思うことがそれなりにあります。

まとめ

まだfinchを使う旨みが得られないので、今回もひとまず保留にしたいと思います。

それでもベータ版の頃と比較して、変な挙動はかなり解消されました。

今後に期待です。

これからAWSユーザーにとって使いやすいツールになってくれることを願っています。

SMARTCAMP Engineer Blog

Discussion