WindowsでFinchを入れてみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3913153/3aff5531-90d9-8b6c-14d2-2cffe25c371f.png)

## 対象者
- 業務でWindowsを使わないといけない人
- 業務規模的に多分Docker有料プランになる人
- でもDocker（≒コンテナ運用するため）使わないといけない人
- 1から手順を教えて欲しい人

## はじめに
Docker Desktopが有料（従業員数250人以上、または間売上高1000万ドル以上（1ドル100円換算で10億円の会社やグループ）になってから久しい現在。小さい会社で小さいビジネスしている人ならいざしらず、割と多くの会社の人はこの条件に引っかかるのではないでしょうか。
「そんなの会社の偉い人たちが考えることでしょ」という話です。
が、有料になる可能性があるアプリを入れるよりも完全無料な代替ソフトがあるならそれを使いましょうということで、Dockerと同じ様に使えて無料なFinchを入れてみましょうという話。

ちなみにMacを外したのは、「MacでFinchを使うのは楽（≒使うための資料は簡単に探せる）」だからです。

## 大雑把な手順
大雑把な手順は以下になります。
- 1.コンテナを動かすためのWSL2というLinux環境を用意（Windows上にコンテナを動かすために必須。Dockerも同じなので、既にWindows上でコンテナ動かしている人はやる必要はありません）
- 2.コンテナを実行するアプリ（Finch）のインストール
- 3.Finchの初期設定
- 4.コンテナ設定用のファイルを作成して実行

## 1.1.コンテナを動かすためのWSL2というLinux環境を用意
参考：https://qiita.com/hoshimado/items/51c99ccaee3d4222d99d
Windowsの検索画面で「こまん」と入力する。
するとサジェストで「コマンドプロンプト」が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3913153/e14a0fb7-7ba3-ecfd-1947-035d37ee0304.png)

画面の赤線の箇所があるなら「管理者として実行」をクリックしてください。
若しくは「コマンドプロンプト」右クリック -> 「管理者として実行」 をクリックしてください。
多くのWindowsパソコンの場合、「このアプリがデバイスに～」の警告ポップアップが表示されますので、気にせず「はい（≒いいですとも！ [^1]）」ボタンを押しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3913153/4fb4aaea-6920-251e-b038-c3b1079b7eeb.png)
管理者として実行できた場合は、上記の通りコマンドプロンプトのウィンドウ表示に「管理者」という文言が入っています。

次に、任意のフォルダで以下のコマンドを入力してください。
```
wsl --install
```
するとダウンロードとインストールが始まります。 

大体以下の表示がされると思いますので、「再起動する必要があります。」の言葉通り再起動します。
```
C:¥> wsl --install
インストール中：仮想マシンプラットフォーム
仮想マシンプラットフォームはインストールされました。
インストール中：Linux様Windowsサブシステム
Linux様Windowsサブシステムはインストールされました。
インストール中：Linux様Windowsサブシステム
Linux様Windowsサブシステムはインストールされました。
インストール中：Ubuntyu Ubuntuはインストールされました。
要求された操作は正常に終了しました。
変更を有効にするには、システムを再起動する必要があります。

C:¥>
```
再起動後にUbuntuが自動的に立ち上がり、インストールを続けます。
（これには数分かかるので、休憩して一息つきましょう）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3913153/0763c470-101c-8cd7-a52e-be59b4d644cf.png)

ユーザー名を途中で要求してくるので、会社PCのログイン名と同じにするなど、忘れないような言葉を入れて下さい。 
パスワードも同じく、忘れないような言葉で。 

管理者で以下のコマンドを実行して、Ubuntuがインストールされていることを確認してください。
```
wsl --list -v
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3913153/028ebb1c-b0c6-7ad4-c756-94b635cf5568.png)

## 2.Finchのインストール
公式HP：https://runfinch.com/
FinchはAWSが作ったコンテナ作成・運用ツールです。 [^2]
基本的なdockerコマンドはfinchに置き換えればほぼそのまま使えます。 
（AWSでのDocker運用しているサービスが多数あるため、有料化に伴い代替手段として作成したのだと思います。知らんけど[^3]）

### インストール要件
Macの場合は、M1チップ以降はほぼ大丈夫なのでWindowsだけ記載します。
- OS
    - Windows
        - 11 
        - 10 バージョン1903以降 OSビルド18362.1049以降（最新にしていればOK） 
    - ハードウェア 
        - 2vCPU、メモリ4GB以上 （IT会社付与のPCならばOK）
    - その他 
        - WSL2がインストールされていること（↑でやった） 
- インストーラー 
    - [FinchのGithubページ](https://github.com/runfinch/finch/releases)のAssetsの～.msiファイル（自分はv1.2.3） 

インストールは基本インストーラーのデフォルトにお任せで大丈夫です。
インストール後は、コマンドプロンプトで以下コマンドを使い、インストールされているかを確かめて下さい。
```
finch --version
```

## 3.Finchの初期設定

参考ページ：https://runfinch.com/docs/getting-started/installation/#verify-the-finch-installation

Finch Virtual Machineの初期化
```
finch vm init
```
これだけです。

## 4.コンテナ設定用のファイルを作成して実行
プログラム界隈では有名なHelloWorldを行います。

```
finch run public.ecr.aws/finch/hello-finch:latest
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3913153/16818252-8c2a-278b-12aa-dcae59b9e420.png)

鳥？のようなアスキーアートが表示されれば成功です。

## 最後に
こうして書いてみると、Finchのインストールはシンプルでした。
記事の大半はWSL2の環境を作るためでした。

[^1]:FF4のセリフ
笑っていいともの「いいとも！」とは違います。
ファイナルファンタジー用語辞典より
参考文献：https://wikiwiki.jp/ffdic/%E3%82%BB%E3%83%AA%E3%83%95/%E3%80%90%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%A8%E3%82%82%EF%BC%81%E3%80%91）

[^2]: AWSブログによる発表記事
https://aws.amazon.com/jp/blogs/news/introducing-finch-an-open-source-client-for-container-development/

[^3]:SNSで使われた言葉
もともと関西の方言だったけど、SNSでの使い勝手がよくて若い世代を中心にブレイクした。
意味は「会話の内容に責任は持てないけど」
参考文献：https://popteen.co.jp/media/19265/