はじめに
最近開発をしてません。なんとなくWindowsパソコンを買いました。Windows 10 Homeつまりです。つまりHome開発環境を整えることが必然となりました。
どんな開発がしたいの?
数年前までMacを利用して以下のような開発をしていました。
・Webアプリケーション(フロント・サーバーサイド)
・AWSインフラ構築(コードで定義する)
上記のような開発をWindowsで構築しようとするととにかく大変でした(私の記憶では)Rubyの導入から躓いたり、
Railsを動かしていても異常に動作が遅く使い物にならなかったりと、とにかくストレスでした。
なので表題にあるMac並みというのは私がストレスなくWebアプリケーションの開発をローカル及びAWS上で実施できる環境を構築するということとなります。
どうやって実現するか
ざっとながら下調べをしまして、Dockerをベースとした開発環境が構築できればよいのかなとあたりをつけました。
しかしWindowsでは仮想環境の実行にHyper-Vが必要だったことを思い出し、Windows10 Homeである私にはもう無理だ・・・
と勝手に諦めかけていたとき「WSL2」と天の声が聞こえてきました。
実現方針は決まりました。
WSL2 → Doker → VSCode です。もう他に方法はありません。
WSL2 をWindows10 Homeに導入
WSL2の導入可能なWindows2020年バージョンは2020年9月現在以下となります。
・「Windows 10 1903」および「Windows 10 1909」(2020年8月20日より導入可能となった)
・「Windows 10 2004」
私のWindowsのバージョンは1909でしたので導入可能ですが、せっかくですので2004にアップデートした後
導入します。
※ 2004でWLS2を導入する場合、2020年9月10日現在一部のセキュリティパッチの影響で不具合がでることが報告されています。
https://www.zdnet.com/article/windows-10-2004-patch-tuesday-problem-update-breaks-wsl2-say-users/
Hyper-Vが原因の一つとされていますので、Windows Homeでは影響しないことを信じて進めていきます
Windows 10 2004 導入
現在のバージョンを確認するにはWinキー+Rで以下のコマンドを実行します。1909でした。
winver
あとはWindows Updateです。私の場合は下のような画面でしたので、「ダウンロードしてインストール」を押してただひたすらに待ちます。
待っている間にWSL2導入手順の確認です。
「Windows 10 2004」からOSの標準機能となりましたが、標準機能となっただけで、機能を有効化しないと使用できません。有効化します。
「Windowsの機能の有効化または無効化」というそのままの機能があります。Winキー+Rで以下のコマンドを実行します
OptionalFeatures
「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」にチェックし、インストールを実施します。
これでWSL2が導入されました。
Docker Desktop のインストール
以下のURLからDocker Desktopをインストールします
https://hub.docker.com/editions/community/docker-ce-desktop-windows
以下のようにWSL2のサポートが有効になっていることを確認します。
インストールが完了すると以下のように「WSL2のLinuxカーネルは別のインストーラーでアップデートが管理されてるからインストールしてね」と案内がでますので従います。
WSL2Dを基盤としたDockerがこれで動作したようです。動作確認をするためダッシュボードに従って以下のコマンドをPowerShell上で実行してみます。
docker run -d -p 80:80 docker/getting-started
80番ポートでなにやらサーバーがリッスンしているようなので http://localhost/tutorial/ へアクセスしてみます。
コンテナが動作しました。これでWindows 10 Homeでもdockerを使った開発ができるはずです。その2に続く。