ニュースと記事
■Home版WindowsでもDocker開発環境を手軽に構築可能
https://forest.watch.impress.co.jp/docs/news/1239275.html
「WSL 2」はアーキテクチャーが一新され、LinuxカーネルをまるごとOSに内蔵し、軽量仮想マシンに処理を任せる方式に改められた。これによりソフトウェア互換性が向上し、「WSL 2」でも「Docker」がそのまま動作する。
■Windows10 2004 アップデートの概要
https://www.pasoble.jp/windows/10/oogata-update-2004.html
開発者向けのWSL 2の強化
WSL 2(仮想マシン)のメモリは、利用用途により増加され、メモリが不要になったときに解放されることがありませんでした。2004のWSL 2では「Linux 仮想マシン」でメモリの使用状況が改善される。
また、ファイルエクスプローラーから Linux のルートディレクトリーに、直接アクセスできるようになる。
どうなるのか
- みなさんが普段使用しているPC「Windows 10 Home」でDockerが使用できるようになります。
- Dockerデーモンの起動が高速化します。記事より
https://japan.zdnet.com/article/35138834/
自分の場合すでにDockerを構築しているのでHyper-VからWSL2に移行する作業になります。
わざわざ1万くらい払ってHome版からPro版にしたのに。。。
手順1:Windows10 2004 を手動アップデート
手順1:画面左下の検索欄から「Windows Insider Program」と検索して
Windows Insider Programの設定画面に移動して「開始をする」
※Insiderの設定は[スロー]か[ファスト]を選択
手順2:Windows Updateを実施する
※バージョン確認方法
手順1:画面左下「スタート」をクリック
手順2:「設定」をクリック
手順3:「システム」をクリック
手順4:左下「バージョン情報」をクリック
手順2:Microsoft Store からUbuntuをインストール
手順3:WSL2の導入
参考:https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-install
Linux用Windowsサブシステムと仮想マシンプラットフォームの有効化
画面左下の検索欄から「Windows の機能の有効化または無効化」を検索
Linux用Windowsサブシステムと仮想マシンプラットフォームにチェックを入れて再起動を行う
Ubuntuの設定
WSL2によってサポートされるようにディストリビューションを設定する
コマンドプロンプトを起動
wsl -l
で使用しているディストリビューション名を確認
wsl --set-version <Distro> 2
UbuntuをWSL2用に変換 ※<Distro>の部分にディストリビューション名を入力
wsl --set-default-version 2
WSL2を標準設定とする
「カーネル コンポーネントの更新が必要です」と表示された場合は
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel
でカーネルの更新を行う
「このリンクをクリックして、x64 マシン用の最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロードしてください」
wsl -l -v
を実行して
[version] 列に "2" と表示されていればWSL 2が使用可能
手順4:Dockerの設定変更
Dockerをインストールしていない場合は公式サイトからインストールしよう
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
Docker setting画面からチェックを入れる
【General】
Enable the experimental WSL 2 based engine
試験的なWSL 2ベースのエンジンを有効にする
【Resources】WSL INTEGRETION
Ubuntu
DockerにアクセスするWSL2ディストリビューションを設定します
Restartすると下記のポップが表示されます
DockerはWSLがインストールされていることを認識し、WSL統合を有効にするように求めます。有効にしてください。
動作確認
コマンドプロンプトでコンテナが動くか確認
docker run hello-world
docker ps -a
でコンテナのIDを確認
wsl -d Ubuntu
でWSL2に切り替えてdocker ps -a
でコンテナのIDを確認
WindowsとUbuntuでコンテナが共有されていることが確認出来れば完了\(^o^)/
参考サイト
https://dev.to/birdsea/windows-subsystem-for-linux-2-docker-for-wsl2-3dpm