🦜
Dockerからfinchに乗り換えできるかしら
finch
- AWSが公開したDockerに代わるコンテナツール
- Limaがベースになっており、Dockerより速いらしい
ベータ版のときから気になっていましたが、また気になってきたので使ってみることにします。
今回は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ユーザーにとって使いやすいツールになってくれることを願っています。
Discussion